我收到了错误:
Invalid column name 'Reserved'
我不确定我的数据库代码在哪里,并且有100个存储过程,函数和放大器。触发器,我必须手动查看以查找对未知列的引用。
有没有办法快速搜索哪些对象包含此关键字?
答案 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)