SQL 查找存储过程中出现过的文字怎么查询呢?

来源:百度知道 编辑:UC知道 时间:2024/05/05 18:12:33
例如查询"insert into"这文字在存储过程中那个过程出现怎么查呢?谢谢!

在syscomments系统表里查,结合sysobjects系统表取得过程名

select b.name
from 数据库名.dbo.syscomments a,数据库名.dbo.sysobjects b where a.id=b.id and b.xtype='p' and a.text like '%insert into%'

“数据库名”替换成你实际的数据库名,因为每个数据库里的存储过程都是单独保存在自己数据库的syscomments表内,所以要加上数据库名,这样就不用在切换数据库上下文了。另外加密的存储过程是查不出来的。

select 存储过程长度=datalength(a.text) from dbo.syscomments a, dbo.sysobjects b
where b.id = a.id and a.id = object_id(N'存储过程名')
order by a.number, a.colid option(robust plan)

http://www.diybl.com/course/7_databases/sql/sqlServer/2007106/76995.html
参考这个