proc 出现SELECT..INTO returns too many rows
EXEC SQL BEGIN DECLARE SECTION;
char CATYPE[20+1];
char CAFEE[12];
char CAPSINF[60+1];
char CABILL[17];
char CACHECK[8];
EXEC SQL END DECLARE SECTION;
上面是定义的宿主变量
EXEC SQL DECLARE TRAN_CURSOR CURSOR FOR SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES
FROM TRANCHECKREPORT WHERE CHECKDATE=:CACHECK;
这个是cursor定义
EXEC SQL SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES INTO:CATYPE,:CAFEE,:CAPSINF,:CABILL
FROM TRANCHECKREPORT ;
这个是取数据语句
找不到上面原因。。。。
[解决办法]
/* 声明游标 */EXEC SQL DECLARE TRAN_CURSOR CURSOR FOR SELECT BUSITYPE,CHECKFEE,PSINF,BILLDATES FROM TRANCHECKREPORT WHERE CHECKDATE=:CACHECK;/* 打开游标 */EXEC SQL OPEN TRAN_CURSOR;/* 循环取数 */for (;;) { EXEC SQL FETCH TRAN_CURSOR INTO :CATYPE,:CAFEE,:CAPSINF,:CABILL; if (SQLCODE == 1403) { /* 没有数据啦 */ break; }}/* 关闭游标 */EXEC SQL CLOSE TRAN_CURSOR;