あなたTrigger
は次のようになります。
CREATE OR REPLACE TRIGGER insrt_mail_status
BEFORE UPDATE OF MAIL_STATUS
ON MAILADDRESS
FOR EACH ROW
WHEN (new.MAIL_STATUS = 'Send')
BEGIN
INSERT INTO BackupMailAddress (MAIL_STATUS, col1, col3)
VALUES (:new.MAIL_STATUS, :new.col1, :new.col3);
END;
参照デモ:
テーブル:SO
CREATE TABLE MAILADDRESS
(
MAIL_STATUS VARCHAR2 (10),
col1 VARCHAR2 (10),
col3 VARCHAR2 (10)
);
CREATE TABLE BackupMailAddress
AS
SELECT * FROM MAILADDRESS;
SQL> SELECT * FROM MAILADDRESS;
MAIL_STATU COL1 COL3
---------- ---------- ----------
Send A B
SQL> SELECT * FROM BackupMailAddress;
no rows selected
SQL> UPDATE MAILADDRESS
SET MAIL_STATUS = 'Send';
1 row updated.
SQL> commit;
Commit complete.
SQL> SELECT * FROM BackupMailAddress;
MAIL_STATU COL1 COL3
---------- ---------- ----------
Send A B
へようこそ。 SOで質問する必要があるかどうかを理解するには、このhttps://stackoverflow.com/help/mcveおよびhttps://stackoverflow.com/help/how-to-askをお読みください。これが最初の日なので、私は自分の返信を投稿しました。将来あなたの質問をどのようにしなければならないかを理解するために、記事を読んでください。また、誰かが返信したら何をする必要があるかを理解するために、このhttps://stackoverflow.com/help/someone-answersも読んでください。 – XING