如何解决“名称已存在的游标”错误

rdlzhqv9  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(811)

我在存储过程中创建了一个游标,并在该游标中调用另一个存储过程。
在该存储过程中,我创建了另一个同名的游标。
在运行主存储过程时,出现了一个错误
名为的游标已存在
我很困惑,我用相同的但在两个不同的存储过程中创建了游标,那么为什么会抛出这个错误呢?

628mspwn

628mspwn1#

经过一番研究,我找到了它的根源。
当声明游标时,我没有指定游标的作用域是批处理的本地作用域。我检查了我的数据库属性,其中cursor default scope设置为global,因此在运行存储过程时出现了这个错误。
因此,要解决此错误,有两种选择:
定义本地游标。只需将关键字local放在光标后面:

declare MyCursor CURSOR LOCAL FOR
 ...

将courser的默认范围定义为数据库的本地范围。
数据库>右键单击>属性

相关问题