[Firebird] Suche diese SQL-Befehle für Firebird Datenbanksysteme



  • Hallo,

    ich suche für das Firebird-Datenbanksystem folgende SQL-Befehle, die mir folgendes bewirken:

    - Das Zurückgeben von allen Tabellennamen einer bestimmten Datenbank
    - Das Zurückgeben aller Eigenschaften der Tabellen einer Datenbank ODER das Zurückgeben aller Eigenschaften aller Tabellen einer Datenbank
    - Das Zurückgeben der Eigenschaften von den Spalten einer bestimmten Tabelle

    Dazu habe ich schon folgende Seite gefunden : [url]http://www.ibphoenix.com/main.nfs?a=ibphoenix&l=;KNOWLEDGEBASE;ID='72'[/url].

    SELECT RDB$RELATION_NAME
    FROM RDB$RELATIONS
    WHERE ((RDB$SYSTEM_FLAG = 0) OR
    (RDB$SYSTEM_FLAG IS NULL)) AND
    (RDB$VIEW_SOURCE IS NULL)
    ORDER BY RDB$RELATION_NAME
    

    Dieser Code bewirkt, dass ich alle Nicht-Systemtabellen angezeigt bekomme. Nur dabei sind auch Tabellen "IBE$", welche aber nicht von mir sind. Wie kann ich hier nur die bekommen, welche nur von "mir" sind? Also welche von irgendwelchen Usern erstellt wurden und nicht vom System selber.

    Bei dem Statement bekomme ich scheinbar die Informationen über die verschiedenen Tabellen:

    SELECT RDB$RELATION_NAME
    FROM RDB$RELATIONS
    WHERE (RDB$VIEW_SOURCE IS NULL)
    ORDER BY RDB$RELATION_NAME
    

    Das Ergebnis sieht ungefähr so aus:

    IBE$AUTO_FIELDS
    IBE$CATEGS                     
    IBE$CHAMPS                     
    ...
    

    Meine Frage ist nun: Wie kann ich auf diese Eigenschaften einer speziellen Tabelle zugreifen?

    Wenn ich mir das jetzt richtig gedacht habe, müsste ich dann folgendes haben:

    - Alle Tabellennamen einer Datenbank
    - Alle Informationen einer Datenbank

    Danke für die Hilfe. 🙂

    kOOni



  • N' abend,

    Wie kann ich hier nur die bekommen, welche nur von "mir" sind? Also welche von irgendwelchen Usern erstellt wurden und nicht vom System selber.

    Diese Frage hat sich erledigt. Habe dazu folgendes konstruieren können 🕶

    select * from rdb$relations where NOT (RDB$RELATION_NAME LIKE 'IBE$%') AND NOT (RDB$RELATION_NAME LIKE 'RDB$%') 
    ORDER BY RDB$RELATION_NAME
    

    Dabei werden alle Tabellen angezeigt, die nur von Usern kreiert wurden.

    kOOni


Anmelden zum Antworten