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