我知道Stack溢出是如何工作的,但我没有数据或SQL脚本来发布我的发现。
我google了很多但找不到我要找的东西。
是否可以使用SQL脚本在我的DB中找到已使用游标或while循环的存储过程或函数列表,以便我可以将它们更改为基于SET的语句?
另外,如果可能,我可以知道哪些存储过程使用了动态查询吗?
我不想手动检查每个存储过程,因此寻找一些自动化方法。
谢谢!
答案 0 :(得分:0)
如果您的SP和其他对象未加密,您可以尝试这样的
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_DEFINITION LIKE '%EXEC%(%'
OR ROUTINE_DEFINITION LIKE '%WHILE%'
OR ROUTINE_DEFINITION LIKE '%CURSOR%'
这肯定 - 不会以任何方式变得聪明,但你可以添加更多条件以获得更好的点击......