mysql錯誤處理(三)- 錯誤處理的例子
有幾種錯誤處理的宣告形式:
§ 如果任何錯誤(不是 not found ) , 設定 l_error 為 1 後繼續執行:
declare continue handler for sqlexception
set l_error=1;
§ 如果發生任何錯誤(不是 not found), 執行 rollback和產生一條錯誤訊息後退出當前塊或儲存過程。
declare exit handler for sqlexception
begin
rollback;
select 'error occurred – terminating';
end;
§ 如果 mysql 1062錯誤 (重複的健值 )發生,執行 select語句(向呼叫程式發一條訊息)後繼續執行
declare continue hander for 1062
select 'duplicate key in index';
§ 如果 sqlstate 2300錯誤 (重複的健值 )發生,執行 select語句(向呼叫程式發一條訊息)後繼續執行
declare continue hander for sqlstate '23000'
select 'duplicate key in index';
§ 當游標或者 sql 選擇語句沒有返回值時,設定 l_done=1 後繼續執行
declare continue handler for not
found
set l_done=1;
§ 此例除了用 sqlstate 變數而不是命名條件以外,跟前乙個例子一樣
declare continue handler for sqlstate '02000 '
set l_done=1;
§ 此例除了用 mysql 的錯誤碼變數而不是命名條件或者 sqlstate 變數以外,跟前兩個例子一樣
declare continue handler for 1329
set l_done=1;
MySql錯誤處理 錯誤處理的例子
有幾種錯誤處理的宣告形式 如果任何錯誤 不是 not found 設定 l error 為 1 後繼續執行 declare continue handler for sqlexception set l error 1 如果發生任何錯誤 不是 not found 執行 rollback和產生一條錯誤...
mysql錯誤處理
1.got error 28 from storage engine 如果資料庫儲存空間沒問題,應該是資料庫用的臨時目錄空間不夠。linux 清空 tmp目錄,或者修改my.cnf中的tmpdir引數,指向具有足夠空間目錄。windows mysql的臨時目錄一般在c windows temp。2....
MySql錯誤處理
有幾種錯誤處理的宣告形式 1 如果任何錯誤 不是 not found 設定 l error 為 1 後繼續執行 declare continue handler for sqlexception set l error 1 2 如果發生任何錯誤 不是 not found 執行 rollback和產生...