## 定義條件
作用 : 特定條件需要特定處理,這些條件可以聯(lián)系到錯(cuò)誤,以及子程序中的一般流程控制.定義條件是事先定義程序執(zhí)行過(guò)程中遇到的問(wèn)題,處理程序定義了在遇到這些問(wèn)題時(shí)應(yīng)當(dāng)采取的處理方式,并且保證存儲(chǔ)過(guò)程或函數(shù)在遇到警告或錯(cuò)誤時(shí)才能繼續(xù)執(zhí)行.這樣可以增強(qiáng)存儲(chǔ)過(guò)程程序處理問(wèn)題的能力,避免程序異常停止運(yùn)行.
```sql
declare 條件的名稱(chēng) condition for [條件的類(lèi)型...];
```
參數(shù)介紹 - 條件的類(lèi)型
|錯(cuò)誤類(lèi)型|介紹|
|-|-|
|sqlstate['value']|匹配指定5個(gè)字符串錯(cuò)誤值|
|MySQL_error_code|匹配數(shù)值類(lèi)型錯(cuò)誤代碼|
## 定義處理程序
```sql
declare 錯(cuò)誤處理方式 handler for 錯(cuò)誤類(lèi)型[,...] 程序語(yǔ)句段;
```
### 參數(shù)介紹
+ 錯(cuò)誤處理方式 :
|錯(cuò)誤處理方式|介紹|
|-|-|
|continue|表示遇到錯(cuò)誤不處理|
|exit|表示遇到錯(cuò)誤馬上退出|
|undo|表示遇到錯(cuò)誤撤回之前操作|
+ 錯(cuò)誤類(lèi)型 :
|錯(cuò)誤類(lèi)型|介紹|
|-|-|
|sqlstate['value']|匹配指定5個(gè)字符串錯(cuò)誤值|
|自定義條件名稱(chēng)|表示declare coneition定義的錯(cuò)誤條件名稱(chēng)|
|sqlwarning|匹配所有以01開(kāi)頭的sqlstate錯(cuò)誤代碼|
|not found|匹配所有以02開(kāi)頭的sqlstate錯(cuò)誤代碼|
|sqlexception|匹配所有沒(méi)有被sqlwarning或not found捕獲的sqlstate錯(cuò)誤代碼|
|MySQL_error_code|匹配數(shù)值類(lèi)型錯(cuò)誤代碼|
+ 程序語(yǔ)句段 : 表示在遇到定義的錯(cuò)誤時(shí),需要執(zhí)行的存儲(chǔ)過(guò)程或函數(shù)
### 例子
#### 捕獲sqlstate['value']
```sql
declare continue handler for sqlstate '42S02' set @info='錯(cuò)誤信息';
```
#### 捕獲mysql_error_code
```sql
declare continue handler for 1146 set @info='錯(cuò)誤信息';
```
#### 先定義再捕獲
```sql
declare uuphp_error condition for 1146;
declare continue handler for uuphp_error set @info='錯(cuò)誤信息';
```
#### 使用sqlwarning
```sql
declare exit handler for sqlwarning set @info='錯(cuò)誤信息';
```
#### 使用not found
```sql
declare exit handler for not found set @info='錯(cuò)誤信息';
```
#### 使用sqlexception
```sql
declare exit handler for sqlexception set @info='錯(cuò)誤信息';
```
- 簡(jiǎn)介
- 數(shù)據(jù)庫(kù)
- 數(shù)據(jù)表
- 創(chuàng)建數(shù)據(jù)表
- 查看數(shù)據(jù)表結(jié)構(gòu)
- 修改數(shù)據(jù)表
- 刪除數(shù)據(jù)表
- 查詢(xún)數(shù)據(jù)
- 表單查詢(xún)
- 聚合查詢(xún)
- 鏈接查詢(xún)
- 子查詢(xún)
- 聯(lián)合查詢(xún)
- 正則查詢(xún)
- 數(shù)據(jù)管理
- 數(shù)據(jù)類(lèi)型
- 添加數(shù)據(jù)
- 更新數(shù)據(jù)
- 刪除數(shù)據(jù)
- 索引
- 索引分類(lèi)
- 設(shè)計(jì)原則
- 添加索引
- 查看索引
- 刪除索引
- 視圖
- 視圖操作
- 視圖應(yīng)用
- 事務(wù)
- 觸發(fā)器
- 存儲(chǔ)過(guò)程和函數(shù)
- 變量
- 異常處理
- 光標(biāo)
- 流程控制
- 存儲(chǔ)過(guò)程
- 自定義函數(shù)
- 內(nèi)置函數(shù)
- 數(shù)學(xué)
- 字符串
- 日期和時(shí)間
- 條件判斷
- 系統(tǒng)信息
- 加/解密
- 其他
- 用戶(hù)管理
- 登錄和退出
- 新建用戶(hù)
- 刪除用戶(hù)
- 修改用戶(hù)
- 找回ROOT密碼
- 權(quán)限管理
- 備份恢復(fù)
- 備份數(shù)據(jù)
- 恢復(fù)數(shù)據(jù)
- 日志
- 二進(jìn)制日志
- 錯(cuò)誤日志
- 查詢(xún)?nèi)罩?/a>
- 慢查詢(xún)?nèi)罩?/a>
- 性能優(yōu)化
- 優(yōu)化查詢(xún)語(yǔ)句
- 優(yōu)化數(shù)據(jù)庫(kù)結(jié)構(gòu)
- 優(yōu)化服務(wù)器
- 主從復(fù)制
- WIN系統(tǒng)主從復(fù)制
- Linux單機(jī)主從復(fù)制
- Linux聯(lián)機(jī)主從復(fù)制
- 參數(shù)配置
- 日常管理和維護(hù)
- 切換主從服務(wù)器
- PHP操作
- 連接
- 創(chuàng)建數(shù)據(jù)庫(kù)
- 插入數(shù)據(jù)
- 插入多條數(shù)據(jù)
- 預(yù)處理語(yǔ)句
- 查詢(xún)數(shù)據(jù)
- 預(yù)處理語(yǔ)句
- 實(shí)戰(zhàn)應(yīng)用
- 分表
