2014-01-16 28 views
0

我正在創建一個觸發器,以便在插入新記錄時自動更新主鍵。這似乎是根據谷歌的優惠方法。Netbeans中的Oracle SQL語法錯誤

然而,當我運行下面的SQL代碼:

CREATE OR REPLACE TRIGGER rooms_insert 
BEFORE INSERT ON "ROOMS" 
FOR EACH ROW 
    SELECT rooms_id_seq.nextval into :new.ID from dual; 

出現以下錯誤:

Error code -1, SQL state 42X01: Syntax error: Encountered "OR" at line 1, column 8. 

我不知道爲什麼我得到這個錯誤,我我試圖谷歌它,但我已經有一些麻煩釘住這一個。

我正在使用Netbeans與Java應用程序一起運行數據庫。我有這種感覺,我失去了一些明顯的東西。

任何想法將不勝感激。

感謝您的閱讀:)

+0

'CREATE OR REPLACE trigger rooms_insert ...' – Dan

回答

0

原來,這只是Apache Derby的語法。

我不能完全確定如何實現此作爲觸發,但下面的代碼創建一個自動遞增的主鍵的表:

CREATE TABLE ROOMS (ID INTEGER NOT NULL(START WITH 1, INCREMENT BY 1), 
ROOMNAME VARCHAR(20), PRIMARY KEY (ID)); 

這一點,據我所知, Netbeans使用的默認RDBMS,這讓我感到不安。

0

我相信你的話「替換」後缺少單詞「扳機」。

+0

我已經試過了。我得到了完全相同的錯誤(可能應該提到)。 –