[英]After Insert Update Trigger PL/SQL
我有一個表格作為Student
並且有一個varchar
類型的列作為status
。 在此表上after insert or update
過程after insert or update
我需要在此status
列中設置值。 我試圖為此編寫一個Trigger
。 但我不能用作:new.status
。 Error: ORA-04084: cannot change NEW values for this trigger type
。 我怎么能這樣做?
我的守則
create or replace
TRIGGER STUDENT_AIU_TRI
AFTER INSERT OR UPDATE ON STUDENT
FOR EACH ROW
DECLARE
v_status VARCHAR2(2);
BEGIN
v_status := '1';
select v_status into :NEW.status from dual;
END;
如果要更改列中的值,則需要使用BEFORE INSER OR UPDATET
觸發器,而不是AFTER INSERT OR UPDATE
觸發器。 為什么您認為需要使用AFTER INSERT OR UPDATE
觸發器?
您也不需要局部變量或從double SELECT
CREATE OR REPLACE TRIGGER trigger_name
BEFORE INSERT OR UPDATE ON student
FOR EACH ROW
BEGIN
:new.status := '1';
END;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.