对所有存储过程定义的全文搜索

时间:2013-11-25 03:35:06

标签: sql sql-server stored-procedures

我有几个存储过程,我想搜索它们并返回任何不包含关键字nolock的过程的名称。我通过以下查询成功实现了这一目标。

Select 
    name as [storedprocedures with no lock] 
from 
    databasename.sys.storedprocedures 
where 
    name not in (Select name as [storedprocedures with no lock] 
                 from databasename.sys.storedprocedures 
                 where OBJECT_DEFINITION(OBJECT_ID) LIKE '%(nolock)%')

但是,我意识到上面的内容会返回一个根本没有关键字nolock的过程。但是,项目的目的是返回with nolock语句中每个表名后未提及关键字select的任何过程的名称。上述查询不适用于假设有多个nolock但具有一个with nolock的过程。

请问有什么地方可以让我搜索到程序结束并返回存储过程名称,其中提到表“A”并且关键字{{1}}没有超过它?

任何帮助都将不胜感激。

0 个答案:

没有答案