T-SQL语言怎么把DECLARE curser_name CURSOR 和 IF BEGIN END 合并在一起?if两种情况分别声明游标。
要达到下面这个类似的意思:
DECLAREreal_cursor CURSOR FOR
IF(@type = 1)
BEGIN
    SELECT top 80 INTTRANSNUM,CTRCODE  FROM  A
ENDELSE 
    SELECT INTTRANSNUM,CTRCODE FROM B
ENDOPEN real_cursor;//报错。。附近有语法错误WHILE (@@FETCH_STATUS = 0)
BEGIN
.....sqlT-SQLSQLServer数据库游标

解决方案 »

  1.   

    DECLAREreal_cursor CURSOR FOR
    放在select语句上面,,,每个if放一个
      

  2.   

    用个临时表
    分情况插入临时表
    对临时表定义游标
    提醒下,sql server的大部分游标是可以用不必使用游标的方法代替,可以提高性能和稳定性
      

  3.   

    定义一个表变量,然后在if else中把数据插入表变量里
    在游标定义时只用select * from @tb就可以了