Cur*_*urt 1 search triggers stored-procedures user-defined-functions sql-server-2008
我收到错误:
Invalid column name 'Reserved'
Run Code Online (Sandbox Code Playgroud)
我不确定这在我的数据库代码中的位置,并且有数百个存储过程、函数和触发器,我必须手动查看这些存储过程、函数和触发器才能找到对未知列的引用。
有没有办法快速查找哪些对象包含这个关键字?
尝试这个:
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)