DECLARE @mc1 nvarchar(50), @mc2 nvarchar(50), @sl1 smallint, @sl2 smallintDECLARE ls_Cursor CURSOR FOR
  SELECT * FROM Tab1

解决方案 »

  1.   

    表示这个东西是一个变量。你看的sqlserver的吧。
      

  2.   

    参数 跟变量 有什么区别吗 我用的是oracle  看的例子 分不出 是sqlservice  还是oracle 
      

  3.   

    怎么这么像sqlserver的语法
    Oracle的变量定义前,一般不加@的;
    sqlserver的变量定义,都加@
      

  4.   

    @@FETCH_STATUS
     2个@ 是语法吗
      

  5.   

    不要看了,我确定你看的是sqlserver了。
    @ 是sqlserver的语法,oracle不用。
      

  6.   

    两个@好像是全局变量的意思 是SQL Server的
      

  7.   

    果然是sqlserver的 语法。。呵呵。
    一个@表示自定义变量;
    二个@表示系统变量
      

  8.   

    你要养成一个问题一结贴的好习惯。1、sql语言是面向集合的查询语言,就是说查询出来的数据往往是一个集合(很多记录)。
    2、而存储过程和C语言一样是面向过程的语言,面向过程的语言有个缺点,记录要一条一条处理。
    3、因此就产生了游标,游标实际上是一个指针,指向数据集合的第一条记录,每处理一条指针下移一位。说白了,游标就是 衔接 面向集合的sql语言 和 面向过程的存储过程的 中间件。PS:再有问题,请开新帖。