搜索存储过程,功能和关键字的触发器

时间:2011-07-18 15:30:01

标签: sql-server-2008 search stored-procedures triggers user-defined-functions

我收到了错误:

Invalid column name 'Reserved'

我不确定我的数据库代码在哪里,并且有100个存储过程,函数和放大器。触发器,我必须手动查看以查找对未知列的引用。

有没有办法快速搜索哪些对象包含此关键字?

2 个答案:

答案 0 :(得分:4)

试试这个:

SELECT o.name, t.TABLE_NAME, c.text 
  FROM syscomments c 
  JOIN sysobjects o 
    ON c.id = o.id
  JOIN INFORMATION_SCHEMA.Tables t
    ON  c.text LIKE '%reserved%' 

或者,如果您要查找名为“保留”的列的表,请执行以下操作:

select o.name 
from sys.objects o 
inner join sys.columns c 
on o.object_id = c.object_id
where o.type = 'u' and c.name = 'Reserved'

如果要过滤搜索某些类型的对象(如过程,视图或表),可以为存储过程添加“p”,为视图添加“v”,为用户定义的表添加“u”, tr'用于触发器ex:

AND o.type = 'p'

答案 1 :(得分:0)