必须声明标量变量 "@CurSorVar"。--游标变量:
--1.先声明游标,然后声明游标变量,然后使用SET命名把游标赋值给游标变量:
Declare TestCursor scroll CurSor
For
Select  * From Books order by Count desc
Declare @CurSorVar CurSor
SET @CurSorVar=TestCursor
Open @CurSorVar Fetch next From @CurSorVar
Fetch next From TestCursor
Fetch prior From TestCursor
Deallocate TestCursor

解决方案 »

  1.   

    这有啥为什么,规定就是这样。你执行的那句是包含在游标里面的,单独执行这条的话,SQL怎么知道这条是哪来的,干什么的,就像FOR循环。。
      

  2.   

    变量的使用必须和定义在一起
    1.declare @name varchar(30) = 'aaaa'
    print @name
    2.declare @name varchar(30) = 'aaaa'
    go
    print @name
    1可以执行,而2由于声明与使用分开,就会报错