1
特定のストアドプロシージャ内で使用される、参照された関数名のリストを取得します。ストアドプロシージャ内で参照された関数を取得する
私はそれのほとんどを達成するために、このクエリを使用:
select
ROUTINE_DEFINITION
from
sys.dm_sql_referenced_entities('[mac].[pr_custom_test_load]', 'OBJECT') sed
inner join
SYS.OBJECTS so ON so.object_id = sed.REFERENCED_ID AND so.type = 'FN' AND sed.referenced_schema_name = 'mac'
inner join
INFORMATION_SCHEMA.ROUTINES isr ON isr.ROUTINE_NAME=SED.referenced_entity_name AND ROUTINE_TYPE = 'FUNCTION';
問題を私が直面していますいくつかのシナリオであり、ストアドプロシージャ内で作成されたいくつかのテーブルがあります。したがって、プロシージャーが実行されない場合、上記のステートメントは、参照されたオブジェクトの残りが作成されなかったことを示すことに失敗します。
ストアドプロシージャ内で参照される関数を取得する他の方法はありますか?