如何取得一个库下的所有存储过程所用到的表名
比如有一个库叫TEST,里面有100本存储过程,每本存储过程里都会用到一些表,
如何把这100本存储过程里用到的所有表名做一个汇总?通过什么可以实现?
我只知道单个存储过程点开察看。
帮帮忙,谢谢!
比如有一个库叫TEST,里面有100本存储过程,每本存储过程里都会用到一些表,
如何把这100本存储过程里用到的所有表名做一个汇总?通过什么可以实现?
我只知道单个存储过程点开察看。
帮帮忙,谢谢!
FROM sys.sql_dependencies WHERE object_id=OBJECT_ID('存储过程名')
FROM sys.sql_dependencies a join sys.objects b on a.object_id=b.object_id
where b.type='p'
c.name
FROM sys.sql_modules a JOIN sys.objects b
ON a.object_id = b.object_id AND b.TYPE = 'P'
JOIN sys.objects c
ON charindex(c.name,a.definition)>0 AND c.type='U'
在小梁基础上加点料,查所有的。DECLARE @sql varchar(8000)SELECT @sql=ISNULL(@SQL+' UNION ALL ','')+'
SELECT DISTINCT [存储过程]=OBJECT_NAME(object_id),
[表名]=OBJECT_NAME(referenced_major_id)
FROM sys.sql_dependencies WHERE object_id=OBJECT_ID('''+NAME+''')'
FROM SYS.OBJECTS WHERE TYPE='P'EXEC(@SQL)