国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Mysql - MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程

MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程

2020-05-26 15:36crazylaa Mysql

這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程中一些基本的異常處理教程,其中rollback命令的使用需要謹(jǐn)慎一些,需要的朋友可以參考下

有時(shí)候,不希望存儲(chǔ)過(guò)程拋出錯(cuò)誤中止執(zhí)行,而是希望返回一個(gè)錯(cuò)誤碼。 Mysql 支持異常處理,通過(guò)定義 CONTINUE/EXIT 異常處理的 HANDLER 來(lái)捕獲 SQLWARNING/NOT FOUND/SQLEXCEPTION (警告 / 無(wú)數(shù)據(jù) / 其他異常)。其中, FOR 后面可以改為 SQLWARNING, NOT FOUND, SQLEXCEPTION 來(lái)指示所有異常都處理,相當(dāng)于 oracle 中的 others 。例如,當(dāng)不進(jìn)行異常處理時(shí),以下代碼將直接拋出一個(gè) ERROR 1062 (23000) 錯(cuò)誤:

?
1
2
3
4
5
6
7
8
CREATE PROCEDURE test_proc_ins1(
     IN i_id INT,
     IN i_name VARCHAR(100)
)
BEGIN
     INSERT INTO testproc VALUES (i_id,i_name);
     INSERT INTO testproc VALUES (i_id,i_name);
END;

經(jīng)過(guò)異常處理后,可以避免拋出錯(cuò)誤,而是定義一個(gè)返回參數(shù) o_ret 賦予特殊值來(lái)表示失敗,這樣,比如在 java 代碼中,可以通過(guò)獲取返回值而不是捕獲異常的方式來(lái)處理業(yè)務(wù)邏輯。例如將返回值設(shè)置為 -1:

?
1
2
3
4
5
6
7
8
9
10
11
12
CREATE PROCEDURE test_proc_ins1(
     IN i_id INT,
     IN i_name VARCHAR(100),
     OUT o_ret INT)
BEGIN
     DECLARE EXIT HANDLER FOR SQLSTATE '23000' set o_ret = -1;
-- 也可以這樣使用:
-- DECLARE EXIT HANDLER FOR SQLWARNING,NOT FOUND,SQLEXCEPTION set o_ret=-1;
     INSERT INTO testproc VALUES (i_id,i_name);
     INSERT INTO testproc VALUES (i_id,i_name);
     set o_ret = 1;
END;

當(dāng)然,對(duì)于特定的SQL語(yǔ)句,也可以指定比如主鍵沖突,就rollback;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DECLARE exit HANDLER FOR SQLSTATE '23000'
 
delimiter //
 
CREATE PROCEDURE TEST()
BEGIN
DECLARE exit HANDLER FOR SQLEXCEPTION,SQLWARNING,NOT FOUND
begin
rollback;
insert into bb values('error');
end;
START TRANSACTION;
INSERT INTO aa VALUES (1);
INSERT INTO aa VALUES (2);
COMMIT;
END;
//
 
CALL test()//

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久久久国产一级毛片高清版 | 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲激情视频 | 中文字幕日韩欧美 | 99久久成人 | 人人爱人人爽 | 91在线电影 | 一区二区三区视频在线观看 | 国产一区二区三区在线视频观看 | 成人免费毛片在线观看 | 98成人网 | 成视频年人免费看黄网站 | 欧美精产国品一二三区 | www.888www看片 | 日韩精品一二三区 | a级毛片免费高清视频 | 久久天天躁狠狠躁夜夜躁2014 | 日韩精品一 | 中文字幕乱码一区二区三区 | ririsao久久精品一区 | 国产精品久久久久久久9999 | 亚洲久久久久 | 国产露脸系列magnet | 一区二区三区免费在线观看 | 亚洲国产成人av | 欧美色欧美亚洲另类七区 | 91在线影视| 999国内精品永久免费视频 | 玖玖国产 | 国产福利91精品一区二区三区 | 91精品一久久香蕉国产线看观看新通道出现 | 久久成人免费视频 | 亚洲综合在线播放 | 一本大道久久a久久精二百 国产欧美视频一区二区 | 国产一区二区三区四区 | 免费的av网站 | 久久久久久久久久久动漫 | 亚洲一区视频 | 亚洲精品字幕 | 亚洲精品一区在线观看 | 国产精品手机在线 |