Genutzte Tabellen in Query

Tommi

Datenbank-Guru
Beiträge
285
Hallo zusammen,

ich bin auf der Suche nach einer Auswertungs-Prozedur, mit der ich in Tabellenform die in einer Query genutzten Tabellen, Views und Funktionen ermitteln kann. Die Query liegt mir nur in Text-Form vor.
Da diese Abfrage auch nicht direkt auf dem SQL-Server liegt kann ich hier auch leider keine System-Views nutzen, die ja bereits solche Informationen mit sich bringen.

Hier ist mal eine Beispiel-Abfrage, wie sie mir öfter vorkommt.

Code:
SELECT M.OP_ID, M.Datum, ISNULL(H.HK_Name,M.Bemerkung) as Massnahme,
COALESCE(G.Gruppenname, HK1.HK_Name, "") as Gruppe,
(CASE WHEN COALESCE(G.Gruppenname, HK1.HK_Name, "")="keine Angabe" THEN 999 ELSE
ASCII(LEFT(COALESCE(G.Gruppenname, HK1.HK_Name, ""),1)) END) as SRT,
DENSE_RANK() OVER (ORDER BY M.Datum, COALESCE(G.Gruppenname, HK1.HK_Name, "")) as Nr
from nldaten.vw_tbl_op_massnahmen M
LEFT OUTER join SQLSRV020.FLP.dbo.tbl_HK_Gruppen G
on g.g_id = m.massnahme_id
and massnahmeart = "HG"
and g.ni_id = "PE"
LEFT OUTER join SQLSRV020.FLP.dbo.tbl_hk_gruppenmapping GM
on gm.g_id = g.g_id
and gm.ni_id = g.ni_Id
LEFT OUTER join SQLSRV020.FLP.dbo.sys_herkunft H
on h.hk_id = gm.hk_id
LEFT OUTER join SQLSRV020.FLP.dbo.sys_herkunft HK1
on HK1.hk_id = M.Massnahme_ID
Where M.op_id = @OP_ID
ORDER BY SRT, Datum, Massnahme

Ich gebe zu, ich bin im Moment etwas faul. Aber warum auch das Rad neu erfinden, wenn sich schon jemand damit beschäftigt hat. Vielleicht hat ja jemand von euch hier schon eine fertige Lösung. Ich wäre entsprechend dankbar.


Viele Grüße,
Tommi
 
Werbung:

ukulele

Datenbank-Guru
Beiträge
4.638
Ich hab mich hier https://www.datenbankforum.com/threads/tabellen-und-spalteneigenschaften-auslesen.873/ ja mal mit der anderen Seite beschäftigt. Ich kann nur sagen ein Query zu zerlegen wird viel Abreit wenn man es selber macht, ich denke mal das fällt flach. Eigentlich müsste es aber sowas auf Basis eines SQL Editors geben, denn die prüfen den Code ja auch auf Logik und manche auch auf vorhandene oder nicht vorhandene Spalten.
 
Oben