oracle觸發器和存儲過程的格式
最近接到一個任務要根據一個表來轉移另一個表的數據到第三個表。想了想,用決定用觸發器+存儲過程的方式來做。有些時間沒有寫存儲過程和觸發器了,查了一下資料,確定了oracle的觸發器和存儲過程的格式。
觸發器的格式如下:
CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER } {INSERT | DELETE | UPDATE [OF column [, column …]]} [OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...] ON [schema.]table_name | [schema.]view_name [REFERENCING {OLD [AS] old | NEW [AS] new| PARENT as parent}] [FOR EACH ROW ] [WHEN condition] PL/SQL_BLOCK | CALL procedure_name;
存儲過程的格式如下:
CREATE OR REPLACE PROCEDURE proc_name ( Parameter1, Parameter2 ...... ) IS var1 ; var2 ; ...... BEGIN PL/SQL_BLOCK END proc_name
由于還有在兩個不同的表中轉移數據,所以數據都可以 還有用到兩個表復制語句,oracle提供了 SELECT INTO 和 INSERT INTO SELECT ,UPDATE SELECT語句用于表復制操作。
折騰了幾下,任務完成了。
浙公網安備 33010602011771號