Du bist hier: Skip Navigation LinksHome > .NET > Artikel

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.

Kick it on dotnet-kicks.de

Kommentar schreiben

Name*:  
Email*:  
Website:
Kommentar: