我正在尝试在 1,000 个存储过程和函数中搜索特定字符串(在本例中为电子邮件地址),但当它位于评论块中时,我想忽略它。
这是查找对象的 SQL 语法,但有数百个结果,我不想逐个查看电子邮件地址是在代码中使用还是在评论块中使用。
SELECT DISTINCT
o.name objectname
FROM sys.sql_modules m
INNER JOIN sys.objects o
ON m.object_id = o.object_id
WHERE definition LIKE '%somebody@somewhere.com%'
ORDER BY o.name
我有一个可以使用正则表达式的 CLR 库 (SQLSharp),但我不确定可以识别注释与有效代码的正则表达式。
对于那些精通 RegEx 而不是精通 SQL Server 的人,注释被定义为以两个破折号(例如 --)开头的单行或以 /* 开头并以 */ 结尾的多行
一想到要弄清楚这一点,我的大脑就会受伤。