cursor cur_YBT_IBP_MQGF is select * from YBT_IBP_MQGF where READFLAG=0;
fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;
select ORGANCODE,ORGANNAME into v_companycode,v_companyname from organ where CORECODE=v_YBT_IBP_MQGF.COMPANYCODE and name=v_YBT_IBP_MQGF.name;
这种写法会报错,不能同时用两个v_YBT_IBP_MQGF.field用在where条件中。
我觉得这和fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;有关系。
谁能告诉我fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;的原理是什么
fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;
select ORGANCODE,ORGANNAME into v_companycode,v_companyname from organ where CORECODE=v_YBT_IBP_MQGF.COMPANYCODE and name=v_YBT_IBP_MQGF.name;
这种写法会报错,不能同时用两个v_YBT_IBP_MQGF.field用在where条件中。
我觉得这和fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;有关系。
谁能告诉我fetch cur_YBT_IBP_MQGF into v_YBT_IBP_MQGF;的原理是什么
OPEN cur_YBT_IBP_MQGF;
DECLARE
CURSOR cur_YBT_IBP_MQGF IS
SELECT rownum x, rownum y FROM dual CONNECT BY rownum <= 4;
TYPE rec1 IS RECORD(
COMPANYCODE INT,
NAME INT);
v_YBT_IBP_MQGF rec1;
v_companycode INT;
v_companyname INT;
BEGIN
OPEN cur_YBT_IBP_MQGF;
LOOP
EXIT WHEN cur_YBT_IBP_MQGF%NOTFOUND;
FETCH cur_YBT_IBP_MQGF
INTO v_YBT_IBP_MQGF;
SELECT ORGANCODE, ORGANNAME
INTO v_companycode, v_companyname
FROM (SELECT rownum ORGANCODE, rownum ORGANNAME
FROM dual
CONNECT BY rownum <= 6) organ
WHERE ORGANCODE = v_YBT_IBP_MQGF.COMPANYCODE
AND ORGANNAME = v_YBT_IBP_MQGF.name;
dbms_output.put_line(v_companycode || ',' || v_companyname);
END LOOP;
END;