注册

存储过程和触发器,编译通过了但是执行报无效的状态

晚安 2023/12/15 641 1

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM7
【操作系统】:windows
【CPU】:
【问题描述】*:存储过程和触发器,编译通过了但是执行报无效的状态
之前一直用着没问题,突然就报了个这个问题。
有老师给看看啥情况吗
create or replace trigger "HBJY_ZFXX"."ZRXX_SYNC_TG"
after INSERT or DELETE
on "HBJY_ZFXX"."JBXX_ZIRANXINXI"
referencing OLD ROW AS "OLD" NEW ROW AS "NEW"
for each row
declare pragma autonomous_transaction;

BEGIN
if inserting then
delete "HBJY_ZFXX"."JBXX_ZIRANXINXI" link link1 where zf_bh = :NEW.ZF_BH and (gydw <> :NEW.GYDW or dbbm <> :NEW.dbbm);
delete "HBJY_XFZX"."XFZX_SJ_YWBL_ZRXX_JBXX_DJ" link link1 where zf_bh = :NEW.ZF_BH and (dwbm <> :NEW.GYDW or dbbm <> :NEW.dbbm);
commit;
call "HBJY_ZFXX"."SYNC_JBXX_ZIRANXINXI"(:NEW.ID);
elsif deleting then
delete "HBJY_ZFXX"."JBXX_ZIRANXINXI" link link1 where id = :OLD.ID;
delete "HBJY_XFZX"."XFZX_SJ_YWBL_ZRXX_JBXX_DJ" link link1 where ID = (select zf_bh id from "HBJY_ZFXX"."JBXX_ZIRANXINXI" where id = :OLD.ID);
commit;
end if;
END;

CREATE OR REPLACE PROCEDURE "HBJY_ZFXX"."SYNC_JBXX_ZIRANXINXI"("V_ID" IN VARCHAR2(50))
AUTHID DEFINER

as
begin

delete "HBJY_ZFXX"."JBXX_ZIRANXINXI" link link1 where zf_bh = v_id;
insert into "HBJY_ZFXX"."JBXX_ZIRANXINXI" link link1 select *
from "HBJY_ZFXX"."JBXX_ZIRANXINXI" where id = (select
a.id
from
HBJY_ZFXX.JBXX_ZIRANXINXI a,
HBJY_ZFXX.YZGL_ZFDQZT b,
HBJY_ZFXX.JBXX_ZXXQ_XF c
where
a.zf_bh=b.zf_bh
and c.ZF_BH=b.zf_bh
and a.GYDW=b.GYDW
and b.GYDW=c.GYDW
and zyzt like '10%'
and a.zf_bh = v_id);

commit;

delete "HBJY_XFZX"."XFZX_SJ_YWBL_ZRXX_JBXX_DJ" link link1 where ID = v_id;
insert into "HBJY_XFZX"."XFZX_SJ_YWBL_ZRXX_JBXX_DJ" link link1(
ID, ZF_BH, XM, ZSXM, XB, CSRQ, MZ, BQMM, BQWHCD, HYZK, BQZY, BQZYLB, BQZJ, BQZC, SXZY, TC, ZJXY,DPTT, BQZW, DBBM, DBMC, CNBZ, SFSZBF, SFZWFZ, SFPHJR,
XZJB, ZWJB, SFLG, SJGJMM, SFSWRY, SFJRZP, SFSXFH, XFZXQJYGYFZ,sfsh,DAH, FDH, DWBM, DWMC, FYLX, XWHCD, LDNL, WCNFJTZK, DQZT,
JGJCXM, JGJCJH, FGDJ, CWH,ZYZT, ZYBZ, XXZ, XXQ, XXQQR, XXQZR, XZDZZQL
) select
a.ZF_BH,a.ZF_BH,a.XM,a.ZSXM,a.XB,a.CSRQ,a.MZ,a.BQMM,a.BQWHCD,a.HYZK,a.BQZY,a.BQZYLB,a.BQZJ,a.BQZC,a.SXZY,a.TC,a.ZJXY,a.DPTT,a.BQZW,a.DBBM,a.DBMC,a.CNBZ,a.SFSZBF,a.SFZWFZ,a.SFPHJR,
a.XZJB,a.ZWJB,a.SFLG,a.SJGJMM,a.SFSWRY,a.SFJRZP,a.SFSXFH,a.XFZXQJYGYFZ,a.sfsh,b.DAH ,b.FDH ,b.GYDW as dwbm,b.GYDW_mc as dwmc,b.FYLX AS FYLX ,b.XWHCD ,b.LDNL,b.JTZK as WCNFJTZK ,b.ZYZT as dqzt ,
b.JCXM AS JGJCXM ,b.JCJH AS JGJCJH ,b.FGDJ,b.CWH ,(case when b.ZYZT like '10%' then 0 else 1 end ) ZYZT,b.ZYBZ,c.XZ XXZ,c.XQ XXQ,c.QR XXQQR ,c.ZR XXQZR ,c.BZNX XZDZZQL
from
HBJY_ZFXX.JBXX_ZIRANXINXI a,
HBJY_ZFXX.YZGL_ZFDQZT b,
HBJY_ZFXX.JBXX_ZXXQ_XF c
where
a.zf_bh=b.zf_bh
and c.ZF_BH=b.zf_bh
and a.GYDW=b.GYDW
and b.GYDW=c.GYDW
and zyzt like '10%'
and a.zf_bh = v_id;

commit;
END;

报错内容
15-Dec-2023 15:39:38.040 SEVERE [http-nio-8084-exec-37] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springmvc] in context with path [/xxk] threw exception [Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException:

Error querying database. Cause: java.sql.SQLException: [SYNC_JBXX_ZIRANXINXI] 对象[ZRXX_SYNC_TG]处于无效状态

The error may exist in com/pro/dao/lcsp/SplcZhubiaoEntityMapper.xml

The error may involve defaultParameterMap

The error occurred while setting parameters

SQL: call HBJY_ZFXX.SYNC_JBXX_ZIRANXINXI(?);

Cause: java.sql.SQLException: [SYNC_JBXX_ZIRANXINXI] 对象[ZRXX_SYNC_TG]处于无效状态

; SQL []; [SYNC_JBXX_ZIRANXINXI] 对象[ZRXX_SYNC_TG]处于无效状态; nested exception is java.sql.SQLException: [SYNC_JBXX_ZIRANXINXI] 对象[ZRXX_SYNC_TG]处于无效状态] with root cause
java.sql.SQLException: [SYNC_JBXX_ZIRANXINXI] 对象[ZRXX_SYNC_TG]处于无效状态

回答 0
暂无回答
扫一扫
联系客服