0

请帮助我,如何填写正确的值?因为该值总是较小,并且显示 ERR 没有足够的值,所以错误在这里

这是我的代码:

CREATE OR REPLACE TRIGGER REGION_HILMI_TRIGGER_WARNING
AFTER INSERT OR UPDATE OR DELETE ON REGION_HILMI
FOR EACH ROW
DECLARE 
warning VARCHAR2(400);
BEGIN 
IF INSERTING THEN 
warning:='Terjadi penambahan data di tabel regions, dengan
nilai region_id='||:NEW.region_id||' dan 
region_name='||:NEW.region_name; 
ELSIF UPDATING THEN 
warning:='Terjadi perubahan data di tabel regions, dengan 
nilai lama region_id='||:OLD.region_id||', 
region_name='||:OLD.region_name||' nilai baru 
region_id='||:NEW.region_id||', region_name='||:NEW.region_name;
ELSIF DELETING THEN 
warning:='Terjadi penghapusan data di tabel regions untuk 
region_id='||:OLD.region_id||' dan region_name='||:OLD.region_name; 
END IF; 
INSERT INTO REGION_HILMI_HISTORY(OLD_REGION_ID,OLD_REGION_NAME,NEW_REGION_ID,NEW_REGION_NAME,CHANGE_TIME,DESCRIPTION)
    VALUES(REGION_HILMI_SEQUENCE.NEXTVAL,USER,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'),warning);
END; 
/
4

3 回答 3

1

您的 INSERT 语句在子句中仅显示 4 项,VALUES但在列名列表中显示 6 项。它们必须匹配。

于 2021-12-22T09:36:29.243 回答
1

谢谢先生,@TenG 通过添加以下脚本解决了:

INSERT INTO REGION_HILMI_HISTORY(OLD_REGION_ID,OLD_REGION_NAME,NEW_REGION_ID,NEW_REGION_NAME,CHANGE_TIME,DESCRIPTION)

    
VALUES(REGION_HILMI_SEQUENCE.NEXTVAL,:OLD.REGION_NAME,:NEW.REGION_ID,:NEW.REGION_NAME,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'),warning);
于 2021-12-22T10:49:29.677 回答
0

现在然后我尝试将数据插入到我的主表中,先生,

但是在我设置触发器后,它会出现这样的错误

点击显示图片

现在它解决了......触发问题,

我改变(TO_CHAR)>>>(TO_DATE)

错误 :

VALUES(REGION_HILMI_SEQUENCE.NEXTVAL,:OLD.REGION_NAME,:NEW.REGION_ID,:NEW.REGION_NAME,TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'),warning);

工作 :

VALUES(REGION_HILMI_SEQUENCE.NEXTVAL,:OLD.REGION_NAME,:NEW.REGION_ID,:NEW.REGION_NAME,TO_DATE(SYSDATE,'DD-MON-YYYY HH24:MI:SS'),warning);
于 2021-12-22T11:14:54.047 回答