对于给定的存储过程,我需要以下摘要 -
有没有人知道这样的T-SQL脚本来汇总存储过程?
答案 0 :(得分:3)
您可以使用sp_help
获取有关对象的参数和信息的信息。
EXEC sp_help yourProcedure;
然后,要获取表格和列的内容,您可以使用sp_depends
EXEC sp_depends yourProcedure;
Here是列出sql Object Dependencies
的有用链接或者你也可以使用。但它只适用于2008年及以上。
SELECT * FROM sys.dm_sql_referenced_entities ('dbo.yourProcedure', 'OBJECT');
SELECT * FROM sys.dm_sql_referencing_entities('dbo.yourProcedure', 'OBJECT');
因为sp_depends
已弃用。
如果存储过程使用动态sql。那么你唯一需要使用的是:
sp_helptext yourProcedure
这将返回程序的内容。
如果您在存储过程中有动态sql。你可以这样做:
DECLARE @tbl TABLE(Text VARCHAR(MAX))
INSERT INTO @tbl
EXEC sp_helptext yourProcedure
SELECT
sysTables.name
FROM
dbo.sysobjects AS sysTables
WHERE EXISTS
(
SELECT
NULL
FROM
@tbl AS tbl
WHERE
tbl.Text LIKE '%'+sysTables.name+'%'
)
这将返回商店过程中使用的对象。
答案 1 :(得分:0)
这将为您提供存储过程的实际文本,您可以将其复制并粘贴到另一个查询窗口并进行分析。
sp_helptext yourProcedure