搜索存储过程、函数和触发器的关键字

Cur*_*urt 1 search triggers stored-procedures user-defined-functions sql-server-2008

我收到错误:

Invalid column name 'Reserved'
Run Code Online (Sandbox Code Playgroud)

我不确定这在我的数据库代码中的位置,并且有数百个存储过程、函数和触发器,我必须手动查看这些存储过程、函数和触发器才能找到对未知列的引用。

有没有办法快速查找哪些对象包含这个关键字?

Car*_*lla 5

尝试这个:

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%' 
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在查找包含名为“保留”的列的表,您可以:

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'
Run Code Online (Sandbox Code Playgroud)

如果您想过滤某些类型的对象(例如过程、视图或表)的搜索,您可以添加“p”表示存储过程,“v”表示视图,“u”表示用户定义的表,“tr”表示触发例如:

AND o.type = 'p'
Run Code Online (Sandbox Code Playgroud)