17,382
社区成员




DECLARE
PI_SERIALNO VARCHAR2(200);
MY_CUR sys_refcursor;
temp vp_campaign%rowtype;
BEGIN
PI_SERIALNO := '2003004495';
USP_CA_GETAORHCAMPAIGNS(
PI_SERIALNO => PI_SERIALNO,
MY_CUR => MY_CUR
);
OPEN MY_CUR;
LOOP
fetch MY_CUR into temp;
exit when MY_CUR%notfound;
DBMS_OUTPUT.PUT_LINE('MY_CUR = ' || temp.analystno);
END LOOP;
END;
DECLARE
PI_SERIALNO VARCHAR2(200);
MY_CUR sys_refcursor;
BEGIN
PI_SERIALNO := '2003004495';
USP_CA_GETAORHCAMPAIGNS(
PI_SERIALNO => PI_SERIALNO,
MY_CUR => MY_CUR
);
/* Legacy output:
DBMS_OUTPUT.PUT_LINE('MY_CUR = ' || MY_CUR);
*/
--:MY_CUR := MY_CUR; --<-- Cursor
/**do something using MY_CUR*/
--rollback;
END;
DECLARE
PI_SERIALNO VARCHAR2(200);
MY_CUR sys_refcursor;
BEGIN
PI_SERIALNO := '2003004495';
USP_CA_GETAORHCAMPAIGNS(
PI_SERIALNO => PI_SERIALNO,
MY_CUR => MY_CUR
);
/* Legacy output:
DBMS_OUTPUT.PUT_LINE('MY_CUR = ' || MY_CUR);
*/
:MY_CUR := MY_CUR; --<-- Cursor
--rollback;
END;
但是执行结果是
Bind Variable "MY_CUR" is NOT DECLARED
anonymous block completed
请问问题出在哪里?