gpt4 book ai didi

sql-server - 用于总结存储过程的 SQL Server 脚本

转载 作者:行者123 更新时间:2023-12-02 17:23:03 25 4
gpt4 key购买 nike

对于给定的存储过程,我想要以下摘要 -

  • 使用列名称选择的表格
  • 使用列名称(如果更新)修改(插入、更新或删除)的表
  • 调用的任何子存储过程都具有与上述两点相同的摘要。
  • 传递的参数

有人知道这样一个T-SQL脚本来总结存储过程吗?

最佳答案

您可以使用sp_help获取有关参数的信息以及有关对象的信息。

EXEC sp_help yourProcedure;

然后要获取表和列的用途,您可以使用 sp_depends

EXEC sp_depends yourProcedure;

Here是一个有用的链接,列出了 sql 对象依赖关系

或者你也可以使用。但仅限于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+'%'
)

这将返回存储过程中使用的对象。

关于sql-server - 用于总结存储过程的 SQL Server 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9666436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com