存儲過程的條件定義與處理可以定義處理過程中碰到的問題做相應的處理。
一、條件定義
DECLARE condition_name CONDITION FOR condition_vale
condition_value:
sqlstate[value] sqldata_value |mysql教程_error_code
二、條件處理
DECLARE htype HANDLER FOR cond_value[...] sp_statement
handtype_value:
sqlstate [value] saltate_value
|contentname
|sqlwarning
|not found
|sqlexeeption
|mysql_erroe_code
上面是語法,下面我們來通過實例說
mysql>select max(id) from ac
maxid =200;
1row in set (0.00 sec)
mysql->delimiter $$
mysql>
mysql>create procedure actor_insret()
->begin
->set @x=1;
->nsert intoactor(id)values(201)
->sex @x=2;
insert into actor(id)values(202)
->set @x=3;
->end
->$$
query ok, 0 rows afftected (0.00 sec)
mysql->delimiter;
mysql>call actor_insert();
error 1062(23000):dupllicate entyr 202 from key primary
mysql->select @x;
@x
201
1row in set (0.00 sec)
從上面可以看出當主鍵重復時,不會做其它作操。
本明,本站原創教程轉載注明來源www.111cn.net/database/database.html