Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

eine Number in verschiedenen Tabellen auffinden und als neue Tabelle ausgeben

Dieses Thema im Forum "Oracle" wurde erstellt von Foxxy, 22 Mai 2017.

  1. Foxxy

    Foxxy Neuer Benutzer

    Guten Tag,

    ich wette, dass meine Frage bestimmt schon gestellt wurde und ich zu unerfahren und überfordert bin die Lösung zu finden.
    Ich habe natürlich auch gegooglet, jedoch sind die vermutlich guten Hilfestellung noch zu unbekannt für mich um sie zu verstehen. Ich habe erst seit 2 Tagen mit SQL zu tun und habe das letzte mal vor 12 Jahren etwas in html "programmiert"...

    Ich entschuldige mich schon einmal und danke herzlichst, dass ihr ein Blick hierauf werft.

    -------------------------------------------------------------
    Ich müsste folgenden Auftrag lösen:

    Eine Prozedur erstellen mit der ich entweder in allen Tabellen eine definierte Number finde (die ID eines Nutzers)
    und die Informationen die dieser Number(ID) zugeordnet werden in einer neuen Tabelle aufzulisten.

    Als Laienhaftes Beispiel:
    UserID sei 1234
    UserID 1234 existiert in TabelleA, dort heißt seine Rubrik aber nur ID und die TabelleA enthält dazu Daten/Spalten wie Passwort, Name, Usw.
    UserID 1234 existiert in TabelleB, dort heißt die Rubrik U_ID und die TabelleB enthält DatenSpalten wie Gruppenzuordnung, Gebietszuordnung
    UserID .... immer so weiter...

    Daraus müsste ich eine neue Tabelle erstellen, welche mir die Information gibt
    wo existiert UserID 1234 jeweils
    welche Spalten/Daten sind ihm in den jeweiligen Tabellen zugeordnet.


    Vermutlich steht hier
    (Find a string by searching all tables in SQL Server Management Studio 2008)
    schon die Antwort, allerdings kann ich sie noch nicht verstehen und erst recht nicht adaptieren
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Das klingt massiv nach einem komplett vergurkten Plan.
     
  3. Foxxy

    Foxxy Neuer Benutzer

    Würde es stark helfen, wenn die relevanten Tabellen und auch die Spalten in denen die Number(ID) zu finden ist, bekannt wären?
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Ja. So arbeitet man auch mit relationalen Datenbanken. Da hat man ein Schema von Tabellen und anderen Objekten, wo bekannt ist, was man wo finden kann.
     
  5. Foxxy

    Foxxy Neuer Benutzer

    Ok, also die Utopie in meinem Kopf ist unrealistisch, das erklärt auch warum ich die Ziel Tabellen und Spalten kenne.
     
  6. ukulele

    ukulele Datenbank-Guru

    Also erstmal zur Klarstellung zwei Dinge:

    1) Welchen SQL Server nutzt du? Du postest bei Oracle und verlinkst auf MSSQL. Das ist schon ein wichtiger Aspekt.

    2) Es gibt grundsätzlich drei Ansätze dein Vorhaben zu lösen:
    a) Du kennst alle Spalten und Tabellen die du druchsuchst und löst das mit ganz klassischem SQL. Das ist, abhängig von der Anzahl der zu durchsuchenden Spalten, viel Code und eventuell auch nicht sonderlich schnell aber es ist einfach verständlich und universell funktionsfähig.
    b) Du nutzt irgendwelche "Zusatz-Features" deines Servers die diese Vorgänge abbilden. Ich hab sowas leider noch nicht eingesetzt aber bin mir recht sicher das es Volltext basierte Werkzeuge für diverse Server gibt. Daraus könnte man eventuell etwas bauen.
    c) Du machst es mit dynamischem SQL das alle Tabellen/Spalten ausließt und dir deinen Code aus a zusammen setzt.

    Zu 2a mal ein Beispiel:
    Code:
    INSERT INTO tabelle_result(UserID,Quelltabelle,Spalten)
    SELECT UserID,'tabelleA','spalteA'
    FROM tabelleA
    WHERE UserID = 1234
    AND spalteA IS NOT NULL
    UNION ALL
    SELECT UserID,'tabelleA','spalteB'
    FROM tabelleA
    WHERE UserID = 1234
    AND spalteB IS NOT NULL
    UNION ALL
    [...]
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden