同じサーバー内の異なるデータベースのテーブルを大量に含むストアドプロシージャを作成しました。今私はすべてのテーブルに対応する特定のストアドプロシージャをリストする必要があります。 次のクエリを試しましたが、特定のデータベースのみに関連するテーブルのみが表示されます。ストアドプロシージャで使用されるすべてのデータベースのテーブルのリスト
問合せは、ここに添付されています
SELECT
t.TABLE_NAME,
s.ROUTINE_NAME,
s.SPECIFIC_SCHEMA
FROM INFORMATION_SCHEMA.TABLES t
INNER JOIN INFORMATION_SCHEMA.ROUTINES s
ON s.ROUTINE_NAME IN (SELECT
referencing_entity_name
FROM sys.dm_sql_referencing_entities(TABLE_SCHEMA + '.' + TABLE_NAME, 'OBJECT'))
AND s.ROUTINE_TYPE = 'PROCEDURE'
WHERE t.TABLE_TYPE = 'BASE TABLE'
AND s.ROUTINE_NAME LIKE '%Procedure name%'
ORDER BY s.ROUTINE_NAME
これまでに何を試しましたか? – vaso123
SELECT t.TABLE_NAME、s.ROUTINE_NAME、s.SPECIFIC_SCHEMA INFORMATION_SCHEMA.TABLESさt から内は(sys.dm_sql_referencing_entities FROM ( SELECT referencing_entity_name IN + '' + TABLE_NAME TABLE_SCHEMAをINFORMATION_SCHEMA.ROUTINES S s.ROUTINE_NAME ONをJOIN 'OBJECT') ) とs.ROUTINE_TYPE s.ROUTINE_NAME – thamizharasu
タグBY = 'プロシージャ' t.TABLE_TYPE = 'BASEのTABLE' とs.ROUTINE_NAME LIKE '%プロシージャ名%' ORDER DBMSあなたは」再使用します。 (いくつかの製品仕様が使用されています) – jarlh