列出基于排除注释的特定单词的存储过程

时间:2017-05-17 13:02:07

标签: sql-server stored-procedures

我需要列出所有存储过程(某个模式)包含'EXEC'字样。在这里,我不需要存储过程评论“EXEC”字。我写下面的查询,但它给了我所有的存储过程,即存储过程在注释中有“EXEC”,在存储过程体中有“EXEC”。

SELECT  s.name +'.'+P.name
FROM   sys.procedures P
INNER JOIN sys.schemas AS s ON s.schema_id = P.schema_id
WHERE  Object_definition(object_id) LIKE '%exec%'
and s.name like '%MySchema%'

1 个答案:

答案 0 :(得分:0)

这将有所帮助,但前提是评论直接在

之前
WHERE  Object_definition(object_id) LIKE '%exec%'
AND Object_definition(object_id) NOT LIKE '%-- exec%'
AND Object_definition(object_id) NOT LIKE '%/* exec%'