Announcement

Collapse
No announcement yet.

SQL Tabellen nach bestimmter Spalte durchsuchen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SQL Tabellen nach bestimmter Spalte durchsuchen

    Hallo

    Ich bin Stefan und neu hier im Forum. An der HS in Karlsruhe studiere in Informatik. Neben dem Studium überwache ich einen SQL Server welcher in der Zytopraxis meiner Mutti steht. Auf dem Server läuft eine Datenbank, welche wie ich finde sehr katastrophal ist. Sie besteht aus ca. 30 einzelnen Tabellen. Die Tabellen sind nicht mit einander verknüpft oder in Beziehung gesetzt. In einigen der Tabellen taucht eine Spalte „Code“ auf. Diese Spalte sollte eigentlich als Integer gesetzt werden. Aber da hier auch führende 0en möglich sein sollen ist sie als VarChar deklariert. Nun wollte ich fragen ob es möglich ist mit wenigen Zeilen SQL Code alle Tabellen durchzuschauen ob sie die Spalte Code beinhalten. Wenn ja denn soll geschaut werden ob eine bestimmte Codenummer in der Tabelle vorhanden ist und dieser Satz in der Tabelle gelöscht werden. Wenn nein dann soll die Prüfung in der nächsten Tabelle weiter gehen.
    Hierbei sollte es möglich sein auch mal eine Tabelle zu löschen oder neu hinzufügen und die Prüfung sollte immer noch ordentlich laufen. Auch müssen alle Datensätze zu der dazugehörigen Codenummer gelöscht werden, sonst macht das Betriebsprogramm Probleme (deswegen kann ich auch nichts an der Datenbank verändern (optimieren)).

    Danke für Eure Hilfe
    Stefan

  • #2
    Originally posted by Stefan3110 View Post
    Hallo

    Ich bin Stefan und neu hier im Forum. An der HS in Karlsruhe studiere in Informatik. Neben dem Studium überwache ich einen SQL Server welcher in der Zytopraxis meiner Mutti steht. Auf dem Server läuft eine Datenbank, welche wie ich finde sehr katastrophal ist. Sie besteht aus ca. 30 einzelnen Tabellen. Die Tabellen sind nicht mit einander verknüpft oder in Beziehung gesetzt. In einigen der Tabellen taucht eine Spalte „Code“ auf. Diese Spalte sollte eigentlich als Integer gesetzt werden. Aber da hier auch führende 0en möglich sein sollen ist sie als VarChar deklariert. Nun wollte ich fragen ob es möglich ist mit wenigen Zeilen SQL Code alle Tabellen durchzuschauen ob sie die Spalte Code beinhalten. Wenn ja denn soll geschaut werden ob eine bestimmte Codenummer in der Tabelle vorhanden ist und dieser Satz in der Tabelle gelöscht werden. Wenn nein dann soll die Prüfung in der nächsten Tabelle weiter gehen.
    Hierbei sollte es möglich sein auch mal eine Tabelle zu löschen oder neu hinzufügen und die Prüfung sollte immer noch ordentlich laufen. Auch müssen alle Datensätze zu der dazugehörigen Codenummer gelöscht werden, sonst macht das Betriebsprogramm Probleme (deswegen kann ich auch nichts an der Datenbank verändern (optimieren)).

    Danke für Eure Hilfe
    Stefan
    - Hallo, welche Datenbank ist es den ? Version ? (was ist eigentlich eine Zytopraxis ?)


    Gruss

    Comment


    • #3
      Hallo,

      im Fall des MS SQL Server 2005 ermittelt die folgende Abfrage alle Tabellen, in denen der Spaltename code vorkommt:

      [highlight=SQL]
      SELECT c.name, t.name
      FROM sys.syscolumns c JOIN sys.tables t on c.id = t.object_id
      WHERE c.name = 'code'
      [/highlight]

      Comment

      Working...
      X