錯誤 TRIGGER **** 編譯錯誤 錯誤:PLS-00103: 出現符號 "END"在需要下列之一時: ( begin case declare exit for goto if loop mod null pragma raise return select update while wit ...
錯誤
TRIGGER **** 編譯錯誤 錯誤:PLS-00103: 出現符號 "END"在需要下列之一時:( begin case declare exit
for goto if loop mod null pragma raise return select update
while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
continue close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge pipe purge
行:8
文本:end****; 錯誤原因: 這種時候一般有兩種情況,分析如下:
1.掉了結束的符號(如:分號,if的結束end if;最有可能的還是分號),這種屬於比較好查的情況,仔細檢查即可發現問題。
2.存儲過程中可能出現全形的空格,這種錯是不可見的,存儲過程只接受半形的空格,這種錯誤屬於比較難查的,只能通過斷點或者將可能出錯的註釋點排除查錯。實在查不出來,最傻的辦法就是重新再手敲輸入一遍。 3.第三種情況一半是很容易忽略的的錯誤,觸發器創建之後必須輸入內容,不可為空,否則編譯報錯。例如:有的人新建了觸發器,後來發現觸發器不必要,但是又不想刪除,於是把內部代碼全部註釋再去編譯,然後就拋出異常的,一個沒有內容的觸發器是沒有存在的必要的,可以刪除或者禁用。