MySQL定义条件
在開發(fā)過程中,經(jīng)常需要對特定的條件進行處理,這些條件可以聯(lián)系到錯誤以及子程序中的一般流程控制
定義條件
是指事先定義,程序執(zhí)行過程中遇到的問題
處理程序定義了在遇到這些問題時,應(yīng)當(dāng)采取的處理方式,并且,保證存儲過程在遇到警告或錯誤時,能繼續(xù)執(zhí)行
定義條件
在編寫存儲過程中,使用DECLARE語句
語法格式
DECLARE condition_name CONDITION FOR [condition_type];
// condition_type的兩種形式
[condition_type]:
SQLSTATE[VALUE] sqlstate_value | mysql-error_code
參數(shù)說明
Condition,表示所定義的條件的名稱
Condition_type,表示條件的類型
Sqlstate_value和mysql_error_code,都可以表示MySQL的錯誤
Sqlstate_value,是長度為5的字符串類型錯誤代碼
Mysql_error_code,為數(shù)值類型的錯誤代碼
上述語句,指定了需要特殊處理的條件,它將一個名字和指定的錯誤條件關(guān)聯(lián)起來,這個名字可以隨后被用在,定義處理程序的DECLARE HANDLER語句中
定義ERROR1148(42000)錯誤,名稱為command_not_allowed
可以使用兩個不同的方法來定義
方法一,使用sqlstate_value
DECLARE command_not_allowed CONDITION FOR SQLSTATE ‘42000’;
方法二,使用mysql_error_code
DECLARE command_not_allowed CONDITION FOR 1148;
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: MySQL事务的可串行化
- 下一篇: MySQL定义处理程序