是否可以获取用户定义函数中使用的所有表和视图?是否有任何已定义的过程通过传递udf名称来获得它?
create function sample_function
return table
as
return
select *
from table1 t1
join table2 t2 on t2.id = t1.id
当我将table1
传递给任何程序时,我需要获得table2
和sample_function
。
任何想法都会有所帮助。
答案 0 :(得分:0)
希望这有帮助。
SELECT DISTINCT referenced_entity_name FROM sys.dm_sql_referenced_entities('dbo.fn_sample','OBJECT')
编辑: 使用以下查询,仅获取引用的表
SELECT DISTINCT referenced_entity_name
FROM sys.dm_sql_referenced_entities('dbo.fn_sample','OBJECT') ro
INNER JOIN sysobjects so ON (ro.referenced_id = so.id)
WHERE so.xtype = 'U'