我有一个触发器,用于在对表进行更改时执行一些审计任务。在这个触发器中有一个 WHILE 循环,并且在循环中有一个游标,它在循环的下一次迭代之前被声明、使用、关闭然后释放。
当我调用一个更改表并反过来导致触发器运行的存储过程时,我从 Management Studio 中执行此操作,一切都按预期工作。
但是,当从我的 Java Web 应用程序中调用此存储过程时,我收到一个错误:“名称为 ... 的游标已经存在”。
这个存储过程在我手动执行时会起作用,而在从 Web 应用程序运行时不起作用,是否有原因?