觸發器成功但是編譯錯誤
A. mysql如何在觸發器中輸出提示信息「操作成功」,在觸發器中我已經會拋出錯誤,但是卻還不能輸出提示
確實不行,這是MYSQL的存儲過程十分不完善的地方
我也找了很久,後來想了了個巧妙的方法
IF @i> 30 THEN
-- 在這里拋出異常和取消 insert 操作
SELECT E001 INTO M_ERRMSG;
end if
1. MYSQL沒有拋出異常的語句,MYSQL已經承認此語句為SIGNAL,目前還沒封裝.
2. 所以目前能做的是, 要在拋出異常的地方,插入一個錯誤語句
3. 這個錯誤語句只能是運行期錯誤語句,否則編譯無法通過
4. 用SELELCT E001 INTO M_ERRMSG, 其中E001可以隨便定義為一個不存在欄位或函數, 因為這個錯誤是運行期錯誤,編譯是可以通過的. 後面的INTO M_ERRMSG實際上沒有什麼用處, 因為SELECT 後面必須加INTO一個變數,否則編譯也是不可以通過。
B. oracle 創建的觸發器帶有編譯錯誤
update employ set salary := old.salary*2;
將這行改為下面。再試一試。
update employ set salary = :old.salary*2;
C. Navicat Oracle創建觸發器成功但是編譯錯誤,怎麼解決
Oracle9i或以上版本的,要安裝Install Client11或以下;Oracle8或8i伺服器,需要安裝Install Client10或以下。這個問題不大,因為我們現在的Oracle都是10或11了,注意一下就好。
然後在Navicat中配置一下,選擇工具-選項
然後選擇左邊選項卡中的其他-OCI.
在OCI library中找到剛剛下載的文件夾中的oci.dll
這樣就完成了Navicat配置,也就使得Navicat中的oci.dll版本和Oracle中的版本一致了,必須重啟Navicat才能生效。這樣整個配置就完成了。
D. 資料庫oracle觸發器出現編譯錯誤
trigger update 當前table ,不能使用update,
用參考:
:new.transaction_date := trunc(:new.transaction_date,'MONTH') - 1/24/60;
我覺得這里如果使用update語句,是不是會無限循環?我以前也遇到過!
E. oracle創建的觸發器帶有編譯錯誤求解答
這類編譯錯誤,一般是SQL語句敲錯,或者表名不存在。
你可以把其中的語句注釋掉大部分,然後看看有沒錯。
有錯,這樣就容易檢查
如果沒錯,就釋放出來一點語句檢查。
很快就搞定錯誤了,加油!
F. 創建的觸發器帶有編譯錯誤
告訴你兩點:
1、當出現警告或者錯誤的時候,使用show
error
命令,可以查看錯誤的具體信息,在信息中可以定位錯誤的具體位置。
2、你的問題是:【endif;】不能寫在一起,【end
if;】是正確的。
類似的還有【end
loop】
等。
---
以上,希望對你有所幫助。
G. oracle建立觸發器 success with compilation error
1、oracle資料庫中的觸發器,insert into users values('05','trigger','普通','trigger','擁有一般許可權');。
H. oracle 觸發器提示創建的觸發器帶有編譯錯誤哪位大神能給看一下
這類編譯錯誤,一般是SQL語句敲錯,或者表名不存在。
你可以把其中的語句注釋掉大部分,然後看看有沒錯。
有錯,這樣就容易檢查
如果沒錯,就釋放出來一點語句檢查。
很快就搞定錯誤了,加油!
I. oracle觸發器,觸發器一能編譯成功,觸發器二始終提示編譯錯誤,請問問題出在哪裡
提示什麼?沒有附上exception 提示和表結構或注釋比較難看出來