(1)條件是用來定義在處理過程中遇到問題時相應的處理步驟。
(2)條件定義的語法:
declare condition_name condition for codition_value
condition_value:
sqlstate [value] sqlstate_value
| mysql_error_code
(3) 條件處理的語法:
declare handler_type handler for condition_value [,...] sp_statement
handler_type:
continue | exit | undo
conditon_value:
sqlstate [value] sqlstate_value
| condition_name
| sqlwaring
| not found
| sqlexception
| mysql_error_code
示例:下面對比有條件處理和沒條件處理
沒條件處理:(已經插入主鍵id 1~200的記錄)
create procedure actor_insert()
begin
set @x=1;
insert into actor(actor_id, first_name,last_name) values(201 , 'test', '201');
set @x=2;
insert into actor(actor_id,first_name,last_name) values(1,'test',『1』);
set @x=3;
end ;
call actor_insert()
增加了條件語句,用於處理主鍵重異常
create procedure actor_insert()
begin
declare continue handler for sqlstate '23000' set @x2=1;
set @x=1;
insert into actor(actor_id,first_name,last_name) values(201,'test','201');
set @x=2;
insert into actor(actor_id,first_name,last_name) values(1,'test','1');
set @x=3;
end ;
注釋:呼叫條件處理的過程,再遇到主鍵重的錯誤時,會按照定義的處理方式進行處理。
handler_type: 支援continue(繼續執行)和exit(執行終止)
continue_value的值分為:自定義(declare 宣告變數);sqldata 值 ; mysql-error-code ; sqlwarning ; not found ; sqlexception
9 MySQL定義條件和處理程式
在程式的執行過程中可能會遇到問題,此時我們可以通過定義條件和處理程式來事先定義這些問題。定義條件是指事先定義程式執行過程中遇到的問題,處理程式定義了在遇到這些問題時應當採取的處理方式和解決辦法,保證儲存過程和函式在遇到警告或錯誤時能繼續執行,從而增強程式處理問題的能力,避免程式出現異常被停止執行。下...
mysql定義條件 MySQL定義條件
在開發過程中,經常需要對特定的條件進行處理,這些條件可以聯絡到錯誤以及子程式中的一般流程控制 定義條件 是指事先定義,程式執行過程中遇到的問題 處理程式定義了在遇到這些問題時,應當採取的處理方式,並且,保證儲存過程在遇到警告或錯誤時,能繼續執行 定義條件 在編寫儲存過程中,使用declare語句 語...
MySQL資料庫 定義條件和處理程式
declare 條件名稱 condition for 該引數表示條件的型別 mysql error code 條件型別 定義乙個 error 1148 42000 錯誤,名稱為command not allowed 方法一 使用sqlstate value declare command not a...