【发布时间】:2011-10-07 19:42:55
【问题描述】:
我有一个触发器,用于在对表进行更改时执行一些审计任务。在这个触发器中有一个 WHILE 循环,并且在循环中有一个游标,它在循环的下一次迭代之前被声明、使用、关闭然后释放。
当我调用一个更改表并进而导致触发器运行的存储过程,并且我在 Management Studio 中执行此操作时,一切都按预期工作。
但是,当从我的 Java Web 应用程序中调用此存储过程时,我收到错误消息:“名称为 ... 的游标已经存在”。
这个存储过程在我手动执行时会起作用,而从 Web 应用程序运行时不起作用,有什么原因吗?
【问题讨论】:
-
具有游标和while循环的触发器是需要重构的触发器。
标签: java sql sql-server tsql database-cursor