我正在尝试搜索存储过程中使用的表达式的所有实例并具有以下内容:
SELECT name, type_desc, create_date, modify_date
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%ufn_TurnFlagOn(5,ColumnA)%'
ORDER BY name
但这不会返回函数参数之间可能有空格的 sps,例如:
ufn_TurnFlagOn( 5,ColumnA )
ufn_TurnFlagOn(5, ColumnA)
ufn_TurnFlagOn( 5,ColumnA)
请注意:
- 我不能像这样使用“_”通配符,
LIKE '%ufn_TurnFlagOn(_5_,_ColumnA_)%'
因为它完全匹配单个字符,因此它不会匹配ufn_TurnFlagOn(5,ColumnA)
等等。 - 我没有 CLR 集成(现在也不能注册),因此我不能使用正则表达式。
另一种方法是在所有可能性下多次运行查询,但有没有更好的方法在 1 个查询中完成此操作?