执行报错,错误信息:ORA-04084 无法更改此触发器类型的NEW值是啥问题啊??各位高手,帮忙解决一下! CREATE OR REPLACE TRIGGER TRI_XTBILL2009
AFTER INSERT ON xtbill2009
FOR EACH ROW
DECLARE A_DWDH VARCHAR(100);
/* A_BILLID VARCHAR(100);*/
A_MONEY NUMBER;
A_NUM NUMBER := '1';BEGIN IF EXISTSET('select * from xtywtobill where dybillid=' || :NEW.BILLID ||
' and year=2009 and dybillid1=1') THEN
EXECUTE IMMEDIATE 'select dwdh from xtywtobill where dybillid=' ||
:NEW.BILLID || ' and year=2009 and dybillid1=1'
INTO A_DWDH;
EXECUTE IMMEDIATE 'select summoney from fmis_share.xtywbill where year=2009 and dwdh=' ||
A_DWDH ||
' and billid in (select billid from xtywtobill where dybillid=' ||
:NEW.BILLID || ' and year=2009 and dybillid1=1)'
INTO A_MONEY;
IF A_MONEY < 0 THEN
:NEW.CODEID := A_NUM;
END IF;
END IF;
END;
AFTER INSERT ON xtbill2009
FOR EACH ROW
DECLARE A_DWDH VARCHAR(100);
/* A_BILLID VARCHAR(100);*/
A_MONEY NUMBER;
A_NUM NUMBER := '1';BEGIN IF EXISTSET('select * from xtywtobill where dybillid=' || :NEW.BILLID ||
' and year=2009 and dybillid1=1') THEN
EXECUTE IMMEDIATE 'select dwdh from xtywtobill where dybillid=' ||
:NEW.BILLID || ' and year=2009 and dybillid1=1'
INTO A_DWDH;
EXECUTE IMMEDIATE 'select summoney from fmis_share.xtywbill where year=2009 and dwdh=' ||
A_DWDH ||
' and billid in (select billid from xtywtobill where dybillid=' ||
:NEW.BILLID || ' and year=2009 and dybillid1=1)'
INTO A_MONEY;
IF A_MONEY < 0 THEN
:NEW.CODEID := A_NUM;
END IF;
END IF;
END;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货