Gibt es eine Möglichkeit, dynamische SQL-Anweisung zu generieren, so dass der Feldwert aus einer Tabelle an einem Tabellenname teilnimmt, der verbunden wird? HierDynamisches SQL mit Tabellenname aus einem Feld
ist, was ich versuche zu tun:
DECLARE @sql NVARCHAR(MAX) = N''
DECLARE @MainProc NVARCHAR(MAX) = N'dbo.MainProc'
SET @sql += N'SELECT ref.*
FROM sys.dm_sql_referenced_entities (' + @MainProc + N', ''OBJECT'') AS ref
INNER JOIN ' + ref.referenced_database_name + '.sys.objects AS o ON ref.referenced_id = o.object_id AND o.type = ''P''
WHERE ref.referenced_schema_name NOT IN (''system'')'
EXEC sp_executesql @sql
Wie kann der Wert von ref.referenced_database_name zu sys.objects angebracht werden?
Und würden Sie erwarten, wenn es viele 'referenzierte_Datenbank_Name's gibt? – gofr1