我可以使用变量来声明游标吗?t-sql动态游标
我想创建动态游标,我该怎么做?
问候
我有表: CREATE TABLE [UsersUniTask]( [ID]唯一标识符约束[DF_UsersUniTask_id] DEFAULT NEWID()NOT NULL, [userUniID]唯一标识符NOT NULL, [TASKID]诠释NOT NULL, [时间]日期时间NOT NULL, [doTask]诠释NOT NULL, [优先]诠释NOT NULL, 约束[PK_UsersUniTask] PRIMARY KEY CLUSTERED([ID]), 约束[FK_UsersUniTask_UsersUni]外键([userUniID ]) REFERENCES [UsersUni]([id]) ON UPDATE NO ACTION ON DELETE CASCADE ) ON [PRIMARY] GO
我有游标的重复性过程,并且我得到一个游标存在的错误,我想创建动态游标。我必须创建游标的动态名称,这是唯一的。我想要这样做: 声明@CursorName nvarchar(500) set @CursorName ='AddTaskCursor'; DECLARE @CursorName CURSOR FAST_FORWARD READ_ONLY FOR ... 但是这样我不能:( – dzajdol 2010-08-25 08:24:46
不能,你不能动态地声明一个游标的名字,你只能动态地定义游标的参数,如果你在游标运行后没有关闭游标,添加“DEALLOCATE 。CursorName中”您的CLOSE语句后 – Boerema 2010-08-25 08:31:16
我的光标看起来像这样: DECLARE AddTaskCursor CURSOR FAST_FORWARD READ_ONLY FOR(选择ID,userUniID,任务id,doTask,优先从@Tasks) 打开AddTaskCursor \t --TODOZROBIĆWYWOŁANIEPROCEDURY - 在这个地方,我用这个游标执行过程是 - 并且这个过程不能声明游标名称在使用中 关闭AddTaskCursor; DEALLOCATE AddTaskCursor; 正如你看到有我的问题,关闭和释放 – dzajdol 2010-08-25 08:45:30