初学者 ,oracle如何调用function啊
用exec batchrestart;
提示ORA-06550 对象XXXX.BATCHRESTART无效
create or replace function batchrestart
return varchar2
is
cursor tel_no IS SELECT TO_CHAR(BILL_ID) FROM TEL_TEMP;
TYPE test_type IS TABLE of TEL_TEMP%ROWTYPE;
test_data test_type;
begin open tel_no;
loop
fetch tel_no BULK COLLECT INTO test_data limit 1000;
for i in 1..test_data.count loop
null;
/*
UPDATE TEMP1 --SO1.INS_USER_OS_STATE_571
SET OS_STATUS=substr(os_status,1,3)||'1'||substr(os_status,5,length(os_status))
WHERE USER_ID =
(
SELECT user_id FROM SO1.INS_USER_571
WHERE bill_id = to_char(aa(i))
);
*/
end loop;
commit;
exit when tel_no%NOTFOUND;
end loop; close tel_no;end;
/
function 对象无效 06559
用exec batchrestart;
提示ORA-06550 对象XXXX.BATCHRESTART无效
create or replace function batchrestart
return varchar2
is
cursor tel_no IS SELECT TO_CHAR(BILL_ID) FROM TEL_TEMP;
TYPE test_type IS TABLE of TEL_TEMP%ROWTYPE;
test_data test_type;
begin open tel_no;
loop
fetch tel_no BULK COLLECT INTO test_data limit 1000;
for i in 1..test_data.count loop
null;
/*
UPDATE TEMP1 --SO1.INS_USER_OS_STATE_571
SET OS_STATUS=substr(os_status,1,3)||'1'||substr(os_status,5,length(os_status))
WHERE USER_ID =
(
SELECT user_id FROM SO1.INS_USER_571
WHERE bill_id = to_char(aa(i))
);
*/
end loop;
commit;
exit when tel_no%NOTFOUND;
end loop; close tel_no;end;
/
function 对象无效 06559
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货