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

问题描述 投票:1回答:2

我收到错误:

Invalid column name 'Reserved'

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

是否可以快速搜索哪些对象包含此关键字?

sql-server-2008 search stored-procedures triggers user-defined-functions
2个回答
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 '用于触发器,例如:

AND o.type = 'p'

0
投票

使用RedGate's SQL Search扩展名也可以提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.