【发布时间】:2019-09-16 08:31:53
【问题描述】:
我正在创建一个过程,我想将多个值存储到记录类型的表中,我试图通过光标插入值,但我得到了这个错误:
错误(14,7):PL/SQL:语句被忽略
错误(14,12):PLS-00306:调用中的参数数量或类型错误 '+'
错误(15,7):PL/SQL:语句被忽略
错误(15,12):PLS-00382:表达式类型错误
错误中提到的行是这两行:
n := n+1;
ulaz(n) := bank_id_rec(tmp_row.bank_id);
create or replace PROCEDURE BULK_STATUS_JOB
IS
CURSOR tmp_cursor
IS
SELECT bank_id FROM mdm_tbank_customer;
n INTEGER :=0;
ulaz bank_id_tab;
izlaz bank_service_status_tab;
rec itf_return_rec;
BEGIN
OPEN tmp_cursor;
LOOP
FOR n in tmp_cursor LOOP
n := n+1;
ulaz(n) := bank_id_rec(tmp_row.bank_id);
END LOOP;
EXIT
WHEN tmp_cursor%notfound;
END LOOP;
rec := mdm_tbank_itf_sb.get_tbank_service_status_bulk(ulaz, izlaz);
FOR i IN izlaz.first..izlaz.last
LOOP
DBMS_OUTPUT.PUT_LINE(ulaz(i).bank_id);
DBMS_OUTPUT.PUT_LINE(izlaz(i).bank_id || ': '||izlaz(i).service_status);
END LOOP;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line(SQLERRM);
IF tmp_cursor%ISOPEN THEN
CLOSE tmp_cursor;
END IF;
END BULK_STATUS_JOB;
【问题讨论】:
-
这是否意味着您已经解决了 ORA-01722 in your other question?