在oracle10g中创建触发器,代码如下:
create or replace trigger HI_trigger
after insert on bill_detail
for each row
begin
IF :NEW.AMOUNT < 0 THEN
INSERT INTO HI_BILL_DETAIL_AUDIT (patient_id,visit_id,item_no)
VALUES(NEW.PATIENT_ID,:NEW.visit_id,:NEW.item_no);
END IF;
end;
其中,bill_detail和HI_BILL_DETAIL_AUDIT 具有同样的表结构,运行时一直报错如下:
ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 36
查了很多资料无法解决,求能人指点!!
------解决思路----------------------
从提示看应该是字段大小不够
------解决思路----------------------
create or replace trigger HI_trigger
after insert on bill_detail
for each row
when (NEW.AMOUNT < 0 )
begin
INSERT INTO HI_BILL_DETAIL_AUDIT (patient_id,visit_id,item_no)
VALUES(:NEW.PATIENT_ID, :NEW.visit_id, :NEW.item_no);
end;