簡體   English   中英

插入更新觸發器PL / SQL之后

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM