日期:2014-05-19  浏览次数:20473 次

写存储过程遇到的问题
我对一个数据库执行两个操作   我现在写了两个存储过程,分别执行一次就可以完成。我想把它们合并到一个存储过程中,但是执行的时候老是没有响应   死循环。

存储过程1
BEGIN
定义一个游标来遍历符合条件的记录,并进行一些操作   然后UPDATE到数据库中
关闭游标
释放游标
END

存储过程2
BEGIN
定义一个游标遍历符合条件的记录,并进行一些操作   然后UPDATE到数据库中
关闭游标
释放游标
END


我现在想把它们合并到一个存储过程中

存储过程3
BEGIN
      BEGIN
          定义一个游标来遍历符合条件的记录,并进行一些操作   然后UPDATE到数据库中
          关闭游标
          释放游标
      END
      BEGIN
          定义一个游标遍历符合条件的记录,并进行一些操作   然后UPDATE到数据库中
          关闭游标
          释放游标
      END
END

现在一执行这个合并的存储过程就死循环,CPU100%,如果分开执行就OK。为什么这样?谢谢!

------解决方案--------------------
你可以分开写那两个存储过程,然后在用个总的存储过程来调用。。。哈哈
估计是表被锁了。。
------解决方案--------------------
BEGIN
定义一个游标来遍历符合条件的记录,并进行一些操作 然后UPDATE到数据库中
再定义一个游标来遍历符合条件的记录,并进行一些操作然后UPDATE到数据库中
关闭游标
释放游标
END

合并是不是应该这样呀?不确定。