這裏是列在我的表,TB_KELUHAN
if-else語句內觸發在Oracle
"IDKELUHAN" NUMBER(20,0) NOT NULL ENABLE,
"NAMA" VARCHAR2(10 BYTE),
"IDUNIT" NUMBER(10,0),
"TGL_KELUHAN" DATE DEFAULT sysdate,
"KELUHAN" VARCHAR2(200 BYTE),
"STATUS" VARCHAR2(10 BYTE),
"IDPEGAWAI" NUMBER(10,0),
"TGL_SELESAI" DATE DEFAULT sysdate,
"ID_JENISKELUHAN" NUMBER(5,0),
CONSTRAINT "TB_KELUHAN_PK" PRIMARY KEY ("IDKELUHAN")
我希望有一個觸發器,將更新行的TGL_SELESAI列SYSDATE,當行的狀態變爲「SELESAI」。這裏是我試過的觸發器的文本:
TRIGGER SELESAI
AFTER UPDATE OF STATUS ON TB_KELUHAN
FOR EACH ROW
DECLARE
TGL_SELESAI DATE;
BEGIN
IF :new.STATUS = 'SELESAI'
THEN
TGL_SELESAI:=SYSDATE;
END IF;
END;
當我改變狀態的值設置爲「SELESAI」,相應的TGL_SELESAI沒有改變。爲什麼?
我從更新後改爲更新之前,仍然沒有在TGL_SELESAI – Apuranic