报的错如题:
ORA-00604: 递归SQL级别1出现错误
ORA-02067:要求事务处理或保存回退点
A服务器oracle建立dblink,存储过程的内容是:往B服务器中oracle的表里插入数据。 在客户端访问调用此存储过程的时候报以上错误。
目前为了报错不显示在客户端只能用rollback,但是这样的话数据就插入不进去了。
代码如下,请大神们帮帮忙:
--【游标查询/插入】
declare
CURSOR c_job IS
select ID,AuditP,AuditD,AuditIdea from LX_YW_ProjectInfoD2
where ToRow_guid=Row_guid and ID not in(select GUOCHENG_ID from TA_SP_GUOCHENG@LXZJJZW where INSTANCE_ID=IDKey);
c_row c_job%rowtype;
BEGIN
for c_row in c_job loop
select st_name into Audit_P from sys_staffdef where st_id=c_row.AuditP;
--
insert into TA_SP_GUOCHENG@LXZJJZW
(GUOCHENG_ID,INSTANCE_ID,TACHE_NO,TACHE_NAME,TRANSACTOR_NAME,TRANSACT_IDEA,TRANSACT_TIME,REMARK,CREATE_DATE,LAST_UPDATETIME,DATA_SOURCE,IS_EXCHANGE,SYSTEM_SOURCE)
select
ID,SHILI_ID,GC_Code,GC_Name,Audit_P,AuditIdea,AuditD,'',Now_Date,Now_Date,'XXXX','N','2'
from LX_YW_ProjectInfoD2 where ToRow_guid=Row_guid and ID=c_row.ID;
end loop;
END
commit;
exception when others then rollback;