当前位置:首页 » 服务存储 » DM存储过程调试
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

DM存储过程调试

发布时间: 2023-08-10 23:04:15

㈠ 如何快速查找使用了某个字段的所有存储过程

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


[sql] view plainprint?

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 plainprint?

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

㈡ 存储过程禁止空参数

默认情况下,参数可为空。如果传递 NULL 参数值并且该参数语句中使用,而该语句中引用的列又不允许使用 NULL,则 SQL Server 会产生一条错误信息。为了防止向不允许使用 NULL 的列传递 NULL 参数值,应向过程中添加编程逻辑或为该列使用默认值(使用 的 DEFAULT 关键字)。