Tabellenname bei PostgreSQL

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Tabellenname bei PostgreSQL

Re: Tabellenname bei PostgreSQL

von Stephan » Mo, 29.11.2021 21:03

RobertG hat geschrieben: Mo, 29.11.2021 20:03 Hallo Stephan,

das "public"-Schema ist das Stanadrdschema von PostgreSQL. Schaue einmal hier:
https://www.postgresql.org/docs/current ... MAS-PUBLIC

Das Arbeiten mit Schemata ist im Prinzip ein Arbeiten mit Unterordnern. Soweit ich weiß gibt es so etwas bei MySQL/MariaDB gar nicht.

Gruß

Robert
OK, dann muss ich zur Not alle Namen zerlegen. Ich weiß ja das der Gesamtname immer den Aufbau:

<Schema>.<Tabellenname>

hat.


Gruß
Stephan

Re: Tabellenname bei PostgreSQL

von Stephan » Mo, 29.11.2021 21:00

wusstest du, dass du die Spaltennamen auch aus dem Resultset auslesen kannst?
das hatte ich zuerst versucht, leider klappt das nicht denn es gibt "oResultSet.Columns" nicht. Ich könnte nur per:

Code: Alles auswählen

oResultSet.findColumn("Spaltenname")
durchprobieren ob bestimmte Spalten (deren Namen ich kennen müsste) vorhanden sind.

Vielleicht eine Besonderheit bei PostgreSQL.?


Gruß
Stephan

Re: Tabellenname bei PostgreSQL

von RobertG » Mo, 29.11.2021 20:03

Hallo Stephan,

das "public"-Schema ist das Stanadrdschema von PostgreSQL. Schaue einmal hier:
https://www.postgresql.org/docs/current ... MAS-PUBLIC

Das Arbeiten mit Schemata ist im Prinzip ein Arbeiten mit Unterordnern. Soweit ich weiß gibt es so etwas bei MySQL/MariaDB gar nicht.

Gruß

Robert

Re: Tabellenname bei PostgreSQL

von F3K Total » Mo, 29.11.2021 17:00

Hallo Stephan,
wusstest du, dass du die Spaltennamen auch aus dem Resultset auslesen kannst?
Alle Spalten mit * auslesen.

Code: Alles auswählen

'...
oResultSet = oStatement.executeQuery("SELECT * FROM lanr")
'...
hier stehen dann die Spaltennamen

Code: Alles auswählen

sColumns = oResultSet.Columns.ElementNames
... konnte ich aber nur mit HSQL-DBs testen.

Gruß R

Tabellenname bei PostgreSQL

von Stephan » Mo, 29.11.2021 15:52

Hallo,

auf eine PostgreSQL-Datenbank kann ich per Basic eine Abfrage ausführen wie folgt:

Code: Alles auswählen

'...
oResultSet = oStatement.executeQuery("SELECT lanr.havgid as HAV FROM lanr")
'...
wenn ich aber einen Spaltennamen ermitteln möchte, muss ich den Tabellennamen so angeben:

Code: Alles auswählen

dd = oDBConnection.getTables()
Msgbox dd.getByName("public.lanr").Columns.hasByName("havgid")
es geht nicht:

Code: Alles auswählen

dd = oDBConnection.getTables()
Msgbox dd.getByName("lanr").Columns.hasByName("havgid")

Frage:
Woher weiß ich das es "public" heissen muss?

Was ich meine ist ob das immer "public" heisst wenn es .... naja, um die 'eigentlichen' Datentabellen geht? Es gibt in der konkreten DAtenbank noch "information_schema" (DAS dürfte tatsächlich immer so heissen) und "pg_catalog" (da bin ich mir schon weniger sicher ob es immer so heisst)


Gruß
Stephan

Nach oben