Oracle 触发器问题??? 详情请进.....
---------------------------
错误
---------------------------
ORA-01403: no data found
ORA-06512: at "CSI2005.TRI_KC06K4", line 7
ORA-04088: error during execution of trigger 'CSI2005.TRI_KC06K4'
查看错误堆栈的程序源?
---------------------------
是(Y) 否(N)
---------------------------
触发器原程序:
CREATE OR REPLACE TRIGGER TRI_KC06K4
BEFORE INSERT
ON CSI2005.KC06K4
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
s_AAE790 temp_aa83.aae790%TYPE;
s_YKC130 kc04k1.YKC130%type;
s_YKC140 kc04k2.YKC140%type;
str_AAC001 KC06.AAC001%type;
BEGIN
SELECT AAC001 INTO str_AAC001 from kc06 where AKC020 = :NEW.AKC020;
/*如果是退费由于不能在发生时立即冲到IC卡上,所以则需要往医保个人帐户收入流水帐表中增加一条记录*/
IF :NEW.AKC186='9' and :NEW.AKC185 > 0 THEN
SELECT SEQ_AAE790.NEXTVAL INTO S_AAE790 FROM DUAL;
DELETE FROM TEMP_AA83 ;
INSERT INTO TEMP_AA83 (AAE790,AAA831,AAA832) VALUES (S_AAE790,'否','否');
SELECT SEQ_YKC130.NEXTVAL INTO S_YKC130 FROM DUAL;
INSERT INTO KC04K1(YKC130,
YKC028,
AAC001,
YKC131,
YKC132,
YKC133,
YKC134,
YKC135)
VALUES( S_YKC130,
'14',
str_AAC001,
:NEW.AKC185,
:NEW.AAE011,
:NEW.AKC188,
:NEW.AKC180,
:New.YKC101);
ELSE IF :NEW.AKC186='5' AND :NEW.AKC185 >0 THEN /*如果是正常消费项目,则需要记录到KC04K2表(医保个人帐户支出流水帐)*/
SELECT SEQ_AAE790.NEXTVAL INTO S_AAE790 FROM DUAL;
DELETE FROM TEMP_AA83 ;
INSERT INTO TEMP_AA83 (AAE790,AAA831,AAA832) VALUES (S_AAE790,'否','否');
SELECT SEQ_YKC140.NEXTVAL INTO S_YKC140 FROM DUAL;
INSERT INTO KC04K2(YKC140,
AAC001,
YKC028,
YKC141,
YKC142,
YKC143,
YKC144,
YKC145)
VALUES ( s_YKC140,
str_AAC001,
'20',
:NEW.AKC185,
:NEW.AKC188,
:NEW.AAE011,
:NEW.AKC180,
:NEW.YKC101);
END IF;
END IF;
END;
这个触发器怎么会造成上面的错误!