SQL Befehl / Überprüfen ob eine Spalte vorhanden ist



  • Hallo zusammen,

    mit welchen SQL Befehl kann ich am einfachsten überprüfen ob eine Spalte "Postleitzahl" überhaupt in der Datenbank "Adresse" vorhanden ist?

    Sorry, Frage klingt einfach - might be tricky

    Grüße, Kevin



  • Dazu musst du wissen welche Datenbank du hast. Alle (mir bekannten) Datenbanken verwalten in irgendeiner Form die Struktur ihrer Tabellen/Spalten/Views/Trigger/etc. ebenfalls in einem Datenbankkatalog.

    Dieser Katalog hat je nach Datenbank unterschiedlichen Aufbau, mit SQL-Abfragen in diesem Datenkatalog kannst du dann soetwas überprüfen.

    Wenn du evtl. JDBC verwendest musst du gar nicht die Datenbank kennen, dort kannst du auch über eine standardisierte Schnittstelle diese Dinge abfragen.

    MfG SideWinder



  • In einer Datenbank ist eine Spalte schonmal nicht, sondern wenn, dann in einer Tabelle.

    Und gibt es einen speziellen Grund, warum du die Struktur deiner Daten nicht kennst?

    Im Bereich der DDL die meisten Unterschiede zwischen den DBMS. Eine Standardkonforme Lösung fällt mir auf Anhieb nicht dafür ein. Du könntest höchstens die Informationen von DESCRIBE parsen. Das kennen noch am ehesten die meisten Systeme.



  • zwutz schrieb:

    Und gibt es einen speziellen Grund, warum du die Struktur deiner Daten nicht kennst?

    Auch wenn ich seinen Fall nicht kenne, sind mir durchaus Programme bekannt, in denen bestimmte Tabellenstrukturen Lizenzbedingt angepasst werden. Zudem kann eine solche Prüfung auch durchaus gemacht werden um Versionierung zwischen unterschiedlichen DB-Ständen hinzubekommen.

    z.B. hatten wir früher eine Anbindung zu einer Fremd-DB in der die Export-/Importtabellen irgendwann ein Feld "verloren" hatten...



  • asc schrieb:

    Auch wenn ich seinen Fall nicht kenne, sind mir durchaus Programme bekannt, in denen bestimmte Tabellenstrukturen Lizenzbedingt angepasst werden. Zudem kann eine solche Prüfung auch durchaus gemacht werden um Versionierung zwischen unterschiedlichen DB-Ständen hinzubekommen.

    hm, ja, hast recht. Mir sind mittlerweile auch einige Fälle eingefallen, die garnicht so speziell sein müssen

    Aber wie gesagt ist mir keine DBMS-übergreifende Möglichkeit bekannt.



  • Hallo

    moeglicherweise so:

    select "Deine Spalte" .....

    und fang den Fehler ab

    Mfg
    Klaus


Anmelden zum Antworten