2017-04-19 93 views
-2

我對使用Oracle數據庫11g的一個NetBeans的Web應用程序,我需要在我的TABLE_A instert後自動插入我的表-B的數據,¿插入後在oracle中觸發?

我TABLE_A有:

  • id_product

del_product

contrat

pre_prod

和我的table_B具有相同的列,但我需要在更新後複製table_A中的所有數據。

我是新使用triggeres,我不知道任何關於它,你能幫我嗎?

這是我嘗試的代碼,但它不起作用。

create or replace trigger color_omes 
after update update of (id_del, dele, contr) 
on dele 
for each row 
begin 
insert into del3 values(new.id_del, new.dele, new.contr); 
end color_omes; 

但出事了,我得到這個錯誤

ORA-00969: missing ON keyword 
+0

SO是不適用於教程和操作方法。如果你不知道觸發器,你應該先進行一些搜索,閱讀一些教程,學習一些東西,然後嘗試編寫一些代碼。如果您的代碼有問題,請隨時在此發佈問題。 – Aleksej

+0

我做了一個搜索,實際上我有一個上面的代碼,我已經寫了。 –

回答

0

你在你的代碼中的一些問題:

CREATE OR REPLACE TRIGGER color_omes 
AFTER UPDATE OF id_del, dele, contr 
ON dele 
FOR EACH ROW 
BEGIN 
    INSERT INTO del3 VALUES(:new.id_del, :new.dele, :new.contr); 
END color_omes; 

它是如何工作的:

SQL> select * from del3; 

no rows selected 

SQL> update dele set contr = 100; 

1 row updated. 

SQL> select * from del3; 

    ID_DEL  DELE  CONTR 
---------- ---------- ---------- 
     1   2  100 
+0

非常感謝,它運行,但當我更新數據不會發生任何事情,表是空的。 –

+0

添加代碼,數據樣本,它更容易找到答案。 – Seyran

+0

觸發器起作用,只是顯示了它的功能。如果它確實符合你的期望,那當然是一個不同的問題 – Aleksej