作为某些增强功能的一部分,750 多个表中添加了一个新列。现在我的问题是在将近 3000 多个存储过程中,一些旧的 INSERT 没有命名列。
有什么办法可以得到所有没有列名插入的存储过程的“列表”?
我试过了:
SELECT OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE definition LIKE '%insert into%'
AND definition NOT LIKE '%) value%'
AND definition NOT LIKE '%)%' + CHAR(10) + '%value%'
AND definition NOT LIKE '%)%' + CHAR(13) + '%value%'
AND definition LIKE '%value%'
Run Code Online (Sandbox Code Playgroud)
但它仍然错过了很多。
PS - 上面的查询也返回 Insert Into (ColumnNames) SELECT 场景,这是我不想要的。