TS: Tabellenname während Abfrage erstellen

Beitrag lesen

Hello,

Du hast eine Master-Tabelle

Wert1      Wert2   
=====      =====
Rolf           1
TS             2
MudGuard       1
Trezimann      2

Und dann zwei Zusatztabellen tab_1 und tab_2, und du bekommt einen Join hin, der für mich und MudGuard Zusatzwerte aus tab_1 liest, und für dich und Trezimann die Werte aus tab_2 ? Und zwar ohne UNION?

Kannst Du das man zeigen?

Das hatte ich in dem anderen Posting bereits alles verlinkt.

Man muss sich eine Stored Routine erstellen, die intern mit prapared Statements arbeitet.
Die kann aber dann als Funktion aber immer nur einen Wert als Ergebnis liefern.
Und wie Dedlfix schon beigetragen hat, wird der Server dabei einschlafen, da in jeder Zeile der Hauptabfrage das Statement für die Unterabfrage (in der Funktion) neu erstellt, gebunden, ausgeführt und zerstört werden muss.

Wenn es sich um Tabellen mit gleichem Aufbau handelt, kann man sie wirklich besser zusammenführen und für die Abfragen dann stored Routines verwenden. In diesen kann man dann auch vertikale Zugriffsrechte verwiklichen und dafür den direkten Zugriff auf die Tabelle verbieten.

Vertikale Rechte wären für mein Empfinden nahezu der einzige Grund, die Daten in mehreren gleichartigen Tabellen zu speichern. Beispiel dafür wären Programme für Außendienstmitarbeiter mit Kundenschutz usw., wenn man dann mit unterschiedlichen Apps (Filialen) auf eine gemeinsame Datenbank zugreifen will. Da will man die Geschäftsregeln ja gerne im DBMS zusammenhalten und nicht in den APIs umsetzen.

Liebe Grüße
Tom S.

--
Die Krawatte ist das Kopftuch des Westens