对一个旧的项目进行二次开发时碰到一个妖怪的问题。一句在查询分析器里执行OK的SQL脚本放进存储过程中硬是毫无反应。
很多情况下,我们可以通过各种先进的工具慢慢调试存储过程。但是,当我面对将近20个互相嵌套、递归的存储过程时再先进的工具也解决不了问题。
那么,好吧。回到原始状态,用最古老的方式来调试。我建立一张临时表:{序号、自动生成日期、消息}。然后在我所有有疑惑的地方加入insert语句。
执行程序,我得到了需要的所有参数。另我惊讶的是,关键的Update语句返回的影响条数是零。很不可思议吧?
Update语句响应条数为0的情况只有两种。没有更新到或者更新的数据和原数据一样。(记得好像是这样)
那么会不会有第三种情况?
可能是有的。那就是你更新的表同名。[user].[table]中的user未必是一致的。3个小时发现了这个问题。