MySql錯誤處理(三) 錯誤處理的例子

2021-07-08 22:26:25 字數 1067 閱讀 7574

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和產生...