无法在SQL Server数据库上声明游标

我在两个不同数据库的查询中使用游标时遇到问题。当我对其中之一执行以下查询时,它返回“ 1”,这意味着定义了游标;当我对第二个执行它时,它返回“ -3”,这意味着未声明游标。

declare c1 cursor for select distinct P_ID from tbl_Select__1
open c1
SELECT CURSOR_STATUS('global','c1')  

我想知道我是否想念一些东西?因为第二个数据库上的查询可以声明c1并打开它,但是仍然说游标的状态为“ -3”(尚未声明),以及为什么它在第一个数据库上可以正常工作。

hutuchong100 回答:无法在SQL Server数据库上声明游标

刷新SQL Server并检查连接是否映射到特定数据库。

  • 第1步:连接到SQL Server
  • 第2步:在一个会话中打开DB1(例如spid:51)
  • 第3步:在另一个会话中打开DB2(例如spid:52)

现在在两个会话中声明相同的游标并进行编译。

对我有用。

本文链接:https://www.f2er.com/3148158.html

大家都在问