我需要在数据库中所有例程的例程体(存储过程,函数,触发器)中搜索文本。我该怎么做..
谢谢
答案 0 :(得分:4)
SELECT
OBJECT_NAME(object_id)
FROM
sys.sql_modules
WHERE
definition LIKE '%' + 'WhatIWant' + '%'
不使用INFORMATION_SCHEMA或sys.comments ...他们使用nvarchar(4000)超过1行或更多行,这意味着某些搜索将失败
答案 1 :(得分:0)
如果您在一个程序,功能或触发器中进行搜索,最简单的方法是编写程序并搜索结果。
您可以在查询窗口中运行以下命令
exec sp_helptext myProc
并使用结果。或者,您可以使用对象资源管理器导航到要搜索的对象,然后选择编写对象脚本。