PB脚本游标 新的问题。
DECLARE YPKC_cur CURSOR FOR
SELECT KCSL,MRDJ,PFDJ,LSDJ,PH,SCCJ,YXQ,RKDH,RKXLH,GMP,QS,IFZB,ZL,GMPXJ,NOGMPXJ
FROM YK_YPKC
WHERE YKH = :gl_ykdm AND YPDM = :YPDM AND KCSL > 0 AND itempkg_id = :ls_itempkg_id
Order By YXQ,RKRQ;
OPEN YPKC_cur;
FETCH YPKC_cur INTO :KCSL,:MRDJ,:PFDJ,:LSDJ,:PH,:SCCJ,:YXQ,:RKDH,:RKXLH,:GMP,:QS,:IFZB,:ZL,:XJ1,:XJ2;
DO WHILE sl > 0
......
FETCH NEXT YPKC_cur
INTO :KCSL,:MRDJ,:PFDJ,:LSDJ,:PH,:SCCJ,:YXQ,:RKDH,:RKXLH,:GMP,:QS,:IFZB,:ZL,:XJ1,:XJ2;
LOOP
CLOSE YPKC_cur;
以上是原来的游标。
现在我想让如果全局变量gs_li=1时
SELECT KCSL,MRDJ,PFDJ,LSDJ,PH,SCCJ,YXQ,RKDH,RKXLH,GMP,QS,IFZB,ZL,GMPXJ,NOGMPXJ
FROM YK_YPKCTJ
WHERE YKH = :gl_ykdm AND YPDM = :YPDM AND KCSL > 0
否则取别外一个表的信息。
由于do while里的内容太多,我想 OPEN YPKC_cur;
FETCH YPKC_cur INTO :KCSL,:MRDJ,:PFDJ,:LSDJ,:PH,:SCCJ,:YXQ,:RKDH,:RKXLH,:GMP,:QS,:IFZB,:ZL,:XJ1,:XJ2;
DO WHILE sl > 0
......
FETCH NEXT YPKC_cur
INTO :KCSL,:MRDJ,:PFDJ,:LSDJ,:PH,:SCCJ,:YXQ,:RKDH,:RKXLH,:GMP,:QS,:IFZB,:ZL,:XJ1,:XJ2;
LOOP
CLOSE YPKC_cur; 这些内容不变的情况下更新一下游标的写法。
但if判断不行。两种IF方法都不行。怎么办呢??