T-SQL Quickies: Verweise gespeicherter Prozeduren auf Tabellen und Felder abfragen
Setzen Sie in Ihren Projekten verstärkt auf den Einsatz von gespeicherten
Prozeduren? Kennen Sie das Problem, das gespeicherte Prozeduren auf Tabellen bzw.
auf Tabellenfelder zeigen, die nicht mehr existieren oder umbenannt wurden?
Mit dieser Abfrage können Sie Verweise gespeicherter Prozeduren abfragen.
DECLARE @procedureName NVARCHAR(255)
SET @procedureName = ...
SELECT
o.[name],
o.object_id,
ref.[name] AS refName,
ref.object_id AS refObjectId,
d.referenced_minor_id,
c.[name] AS columnName
FROM sys.objects o INNER JOIN
sys.sql_dependencies d ON o.object_id = d.object_id INNER JOIN
sys.objects ref ON d.referenced_major_id = ref.object_id LEFT JOIN
sys.columns c ON c.object_id = d.referenced_major_id
AND d.referenced_minor_id = c.column_id
WHERE o.[name] = @procedureName
Das Feld "refName" gibt die Tabelle an, auf die verwiesen wird - "columnName"
beinhaltet den Namen der referenzierten Spalte.