Announcement

Collapse
No announcement yet.

Abfrage eins Werts aus mehreren Tabellen

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

  • Abfrage eins Werts aus mehreren Tabellen

    Hallo,

    ich habe eine Oracle-Datenbank mit vielen verschiedenen Tabellen. Jetzt möchte ich per SQL-Abfrage herausfinden, in welchen Tabellen der Gleiche Wert beinhaltet ist.

    Beispiel:
    In welchen Tabellen befindet sich der Wert 512??

    Kann ich den Wert 512 über alle Tabellen abfragen???


    Ich denke für einen geübten SQL-Profi ist das ne leichte Aufgabe und mir als Laie wäre mit einer Antwort sehr geholfen!

    Danke für die Mühen!


    Grüße

  • #2
    Originally posted by Sunnyboy781 View Post
    Hallo,

    ich habe eine Oracle-Datenbank mit vielen verschiedenen Tabellen. Jetzt möchte ich per SQL-Abfrage herausfinden, in welchen Tabellen der Gleiche Wert beinhaltet ist.

    Beispiel:
    In welchen Tabellen befindet sich der Wert 512??

    Kann ich den Wert 512 über alle Tabellen abfragen???


    Ich denke für einen geübten SQL-Profi ist das ne leichte Aufgabe und mir als Laie wäre mit einer Antwort sehr geholfen!

    Danke für die Mühen!

    Grüße


    Hallo,


    So einfach geht das nicht. Du musst dir mit Dynamic SQL das gewünschte SQL "zusammenbauen" und dabei auch beachten, dass der SQL je nach Datentyp enies Attributes sich ändert. Such doch mal in diesem Forum, ich bin sicher, es gab schon diverse Post's (und Lösungen) dazu hier.

    BTW, du solltest dies im Oracle - Teil des Forums posten....ist effizienter

    Gruss

    Comment


    • #3
      Originally posted by Sunnyboy781
      Hallo,

      ich habe eine Oracle-Datenbank mit vielen verschiedenen Tabellen. Jetzt möchte ich per SQL-Abfrage herausfinden, in welchen Tabellen der Gleiche Wert beinhaltet ist.

      Beispiel:
      In welchen Tabellen befindet sich der Wert 512??

      Kann ich den Wert 512 über alle Tabellen abfragen???


      Ich denke für einen geübten SQL-Profi ist das ne leichte Aufgabe und mir als Laie wäre mit einer Antwort sehr geholfen!

      Danke für die Mühen!

      Grüße
      Ich habe mal auf eine ähnliche Frage folgendes geantwortet .

      <<<<<<
      Re^3: Textsuche über gesamte Datenbank

      - Dann gibt es die Möglichkeit, via Dynamic SQL und den Metadaten des Schemas dir einen SQL erstellen zulassen. Am besten machst du dies in einer PL/SQL Procedur. Der erste Ansatz wäre, sich in das in Frage kommende Schema einzuloggen :

      select * from USER_TAB_COLS
      where DATA_TYPE ='VARCHAR2'

      - Dies gibt dir alle Felder vom Typ Varchar2 im aktuellen Schema und ihre zugehörige Tabellen (allerdings auch die Views...)

      Wenn du dies in einen Cursor lädst und innerhalb eines Loops deinen SQL aufbaust, sollte es klappen

      Dies ist aber :
      - Sehr umständlich
      - Eher nicht performant :-)
      - Du brauchst dazu Zugriffsberechtigungen auf die DBA_VIEWS

      Wenn es ein einmaliges Update sein soll, wäre es auf jeden Fall besser, die entsprechende Felder zu identifizieren und gezielt Update-Statements zu schreiben

      >>>

      Vlt. hilft dir dies weiter


      Gruss

      Comment


      • #4
        Hallo,
        Originally posted by Sunnyboy781 View Post
        ...ich habe eine Oracle-Datenbank
        Und warum fragst du das dann im MySQL-Forum?

        Originally posted by Sunnyboy781 View Post
        ......Ich denke für einen geübten SQL-Profi ist das ne leichte Aufgabe...
        Das ist gar keine Aufgabe für SQL! Für eine korrekte Abfrage per SQL benötigst du immer die konkreten Tabellen und Spaltennamen.
        Wie dbwizard schon geschrieben hat, bleibt dir hier nur die Abfrage des Data Dictionary und das dynamische Zusammenbasteln der Abfragen.

        Gruß Falk

        P.S.: Hab das mal nach Oracle verschoben und den Doppelpost gelöscht!
        Zuletzt editiert von Falk Prüfer; 05.01.2010, 17:20.
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X