在我的SQL Server数据库中,我有一个现有的表说tblA。 现在我需要向该表添加一个名为' IsActive'的新列。还有许多其他表格(比如tblB),列名称为#Is; IsActive'已存在于数据库中。
现在添加了列后,我遇到了一个现有的存储过程,其中包含以下代码
tblA INNER JOIN tblB b ON a.id = b.id WHERE IsActive = 1
由于在Where条件中没有为列指定别名,因此该SP将抛出“不明确的列名称”和“IsActive”#39; '错误。
数据库中有数千个使用tblA的SP。
那么有没有简单的方法/单个脚本来检查名为' IsActive'的列。存在于没有别名的任何SP中?
答案 0 :(得分:0)
也许这不是你的解决方案。
但是尝试使用此查询可能会有所帮助
SELECT r.ROUTINE_NAME
,OBJECT_DEFINITION (OBJECT_ID(r.ROUTINE_NAME))
FROM INFORMATION_SCHEMA.ROUTINES r
WHERE OBJECT_DEFINITION (OBJECT_ID(r.ROUTINE_NAME)) LIKE '%WHERE IsActive = 1%'