2013-12-17 97 views
0

我是SQL觸發器的新手。SQL觸發器編譯錯誤

以下觸發給了我一個錯誤,說

Error: PL/SQL: ORA-00942: table or view does not exist

Error: PL/SQL: SQL Statement ignored

create or replace trigger HIST 
    after update of DATE ON EPISODE 
    for each row 

begin 

INSERT INTO HIST SELECT * FROM INSERTED; 

end HIST; 

任何幫助,將不勝感激。

+0

除了對INSERTED的無效引用(由@Parado指出)之外,由於DATE是SQL中的關鍵字,因此列名DATE無效。如果你真的有一個名爲DATE的列(我衷心希望你不要!),你必須用雙引號括起來。 –

+0

ohh我不知道插入不工作在甲骨文..非常感謝你..是啊我不喜歡日期作爲我的專欄名稱:D謝謝guyyss – user3110283

+0

不客氣。請接受@ Parado的答案。 –

回答

1

您不能在Oracle DB上使用INSERTED表。 您應該使用insetad new值如下

INSERT INTO HIST (col1,col2) 
VALUES (:new.col1,:new.col2) 

Here你可以找到有關觸發器的詳細信息。

+0

這可能應該是:new.col1,:new.col2 –

+0

@FrankSchmitt當然,謝謝! – Parado