當我運行這個SQL:的Oracle SQL自動遞增PLS-00103
CREATE OR REPLACE TRIGGER test_trigger
BEFORE INSERT
ON FITNESS_BMR
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT t1_seq.nextval INTO :NEW.ID FROM dual;
END;
我得到這個錯誤:
"Error at line 7: PLS-00103: Encountered the symbol ""CREATE""",""
有誰知道爲什麼嗎?
這是一個腳本,與它之前立即另一個語句(可能是一個'創建table'或'創建從以前的問題sequence'),和語句不以分號結束;或者如果它是一個塊,'/'?在顯示的代碼片段之前或之後,似乎是導致或遇到了我認爲的問題,因此如果有更多的代碼,請將其顯示出來。 –
您應該查看SQL小提琴:http://sqlfiddle.com/about.html。這非常有趣,也是學習SQL,解決問題以及與他人共享Schema/SELECTs的好方法。 :) – Jess
在[Michael Durant的回答](http://stackoverflow.com/a/15957306/266304)中針對上一個問題的命令只要在「create trigger」後面有一個'/'就可以完全顯示,當在SQL * Plus或SQL Developer中運行時。所以你要麼做一些不同的事情,忽略'/',或者在一個不喜歡把這些命令放在一起的不同客戶端中。您需要準確顯示您正在運行的內容,並提供有關您在哪裏運行它的更多信息。 –