我需要列出所有存储过程(某个模式)包含'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%'
答案 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%'