怎样查找数据库中的所有存储过程

怎样查找数据库中的所有存储过程,第1张

你的意思是 怎样查看创建存储过程的语句吗?

首先要知道 存储过程名称 用

sp_helptext 存储过程名

sp_helptext 视图名

sp_help 表名

在sql server 语句离执行就可以看到

还可以 找到该数据库 -可编译性-存储过程-找到存储过程名称-右击-修改

就可以查看了

当一个系统中使用了很多的表,并且存在大量的存储过程,当数据库中的某个表删除了某个字段,那么相应的存储过程也需要改动,但是我们不知道哪些存储过程使用了该字段,那我们该怎么办?我们可以从之前的文档一个一个查找使用了该字段的存储过程,但是这样效率很多,而且还容易出错,我们可以使用下面的方法来查找所有使用了某个字段的存储过程。如下的函数:

[sql] view plaincopyprint?

01.GO

02.SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容

03.FROM syscomments sc

04.INNER JOIN sysobjects obj ON sc.Id = obj.ID

05.WHERE sc.TEXT LIKE '%' + '字段名' + '%'

06.AND TYPE = 'P'

07.GO

GO

SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容

FROM syscomments sc

INNER JOIN sysobjects obj ON sc.Id = obj.ID

WHERE sc.TEXT LIKE '%' + '字段名' + '%'

AND TYPE = 'P'

GO

下面举一个例子,比如查找数据库中所有使用了AdId这个字段的所有存储过程。

[sql] view plaincopyprint?

01.USE KyCms

02.GO

03.SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容

04.FROM syscomments sc

05.INNER JOIN sysobjects obj ON sc.Id = obj.ID

06.WHERE sc.TEXT LIKE '%' + 'AdID' + '%'

07.AND TYPE = 'P'

08.GO

USE KyCms

GO

SELECT obj.Name 存储过程名, sc.TEXT 存储过程内容

FROM syscomments sc

INNER JOIN sysobjects obj ON sc.Id = obj.ID

WHERE sc.TEXT LIKE '%' + 'AdID' + '%'

AND TYPE = 'P'

GO


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10046464.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存