Sie haben die Demo-Daten für das
SQL-Tutorial erzeugt.
Melden Sie sich als Benutzer MONA an die Demo-Datenbankinstanz DEMODB an.
Anhand der Systemtabelle COLUMNS können Sie unter anderem folgende Datenbankinformationen ermitteln:
● Spalten der Tabelle RESERVATION in der Reihenfolge ihrer Definition, zusammen mit den zugehörigen Kommentaren
SELECT columnname,
comment
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' ORDER BY
pos
● Datentypen aller Spalten der Tabelle CUSTOMER
SELECT columnname, datatype, len, dec, codetype
FROM DOMAIN.COLUMNS
WHERE tablename = 'CUSTOMER'
● Alle Spalten der Basistabellen des Schemas HOTEL, die den Datentyp DATE besitzen
SELECT
tablename,columnname
FROM DOMAIN.COLUMNS
WHERE schemaname = 'HOTEL'
AND tabletype = 'TABLE'
AND datatype = 'DATE'
● Alle Spalten der eigenen Tabelle HOTEL, für die ein Vorschlagswert definiert wurde, sowie dieser Vorschlagswert
SELECT columnname,
"DEFAULT"
FROM DOMAIN.COLUMNS
WHERE schemaname = 'HOTEL'
AND tablename = 'HOTEL'
AND "DEFAULT" IS NOT
NULL
Beachten Sie, dass die Spalte DEFAULT als spezieller Bezeichner (Bezeichner eingeschlossen in doppelte Anführungszeichen) angegeben werden muss, da DEFAULT ein reserviertes Schlüsselwort ist.
● Alle Primärschlüsselspalten der Tabelle ROOM, sortiert nach ihrer Reihenfolge im Primärschlüssel
SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'ROOM' AND mode = 'KEY' ORDER BY
keypos
● Alle mit NOT NULL definierten Spalten der Tabelle CUSTOMER
SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'CUSTOMER' AND mode =
'MAN'
● Alle für den Benutzer MONA änderbaren Spalten der Tabelle RESERVATION
SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' AND columnprivileges
LIKE '%UPD%'
● Alle für den Benutzer MONA änderbaren Spalten der Tabelle RESERVATION, für die er dieses Privileg weitervergeben darf
SELECT columnname
FROM DOMAIN.COLUMNS
WHERE tablename = 'RESERVATION' AND columnprivileges
LIKE '%UPD+%'
Voraussetzung für das folgende Beispiel
ist die Definition von Wertebereichen und deren Verwendung in Tabellen.
Verfahren Sie dazu z.B. wie im SQL-Tutorial, Wertebereiche
beschrieben.
● Alle Tabellenspalten, für die bei der Definition der Wertebereich name_domain oder birthday_domain angegeben wurden
SELECT schemaname,
tablename, columnname
FROM DOMAIN.COLUMNS
WHERE domainname = 'NAME_DOMAIN' OR domainname =
'BIRTHDAY_DOMAIN'
Spalten im Index: siehe INDEXCOLUMNS
Spalten im referentiellen Constraint: siehe FOREIGNKEYCOLUMNS
Primärtabellen- oder View-Tabellen-Spalten in View-Tabelle: siehe VIEWCOLUMNS