日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

14. 错误处理

發(fā)布時(shí)間:2025/6/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 14. 错误处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
-- 狀態(tài) -- 0 插入成功 -- -1 選課失敗,已選擇 -- -2 選課失敗,課程已達(dá)到人數(shù)上限 -- -3 選課失敗,課程未審核-- 插入時(shí)要判斷的條件: -- 未選擇過該課程,否則返回 -1 -- 課程是審核過的,否則返回 -3 -- 課程人數(shù)未滿, 否則返回 -2UPDATE course SET available = 0 WHERE course_no = 2; -- 先把2課程可用人數(shù)設(shè)置為0SET @state = 0; CALL choose_proc('2013003',2,@state); -- -2 人數(shù)已滿 SELECT @state,@state2; SET @state = 0; CALL choose_proc('2013003',3,@state); -- -1 已選擇過 SELECT @state; SET @state = 0; CALL choose_proc('2013003',4,@state); -- -3 未審核 SELECT @state;SELECT * FROM choose WHERE student_no = '2013003';-- 自定義錯(cuò)誤處理 -- 錯(cuò)誤碼: 1452 格式: DECLARE 錯(cuò)誤處理類型 HANDLER FOR 錯(cuò)誤觸發(fā)條件 自定義錯(cuò)誤處理程序錯(cuò)誤處理類型: 1 CONTINUE 2 EXIT 錯(cuò)誤觸發(fā)條件:錯(cuò)誤碼DROP PROCEDURE choose_proc; DELIMITER $$ CREATE PROCEDURE choose_proc(IN stu_no VARCHAR(20),IN c_no VARCHAR(20),OUT state INT) MODIFIES SQL DATA BEGINDECLARE s1 INT; DECLARE s2 VARCHAR(6); DECLARE s3 INT;DECLARE CONTINUE HANDLER FOR 1452 BEGIN SET @errorInfo = '外鍵約束錯(cuò)誤'; END;-- 1. 查詢有沒有選擇過 SELECT COUNT(*) INTO s1 FROM choose WHERE student_no = stu_no AND course_no = c_no; IF(s1 >= 1) THEN SET state = -1; ELSE -- 2. 查詢課程是不是已審核的 SELECT STATUS INTO s2 FROM course WHERE course_no = c_no; IF (s2 = '已審核') THEN -- 3. 查詢課程是不是人數(shù)未滿的 SELECT available INTO s3 FROM course WHERE course_no = c_no;IF(s3 >0 ) THEN SET state = 0;-- 插入 INSERT INTO choose VALUES(NULL,stu_no,c_no,NULL,NOW()); -- 這里出的錯(cuò) -- 如果沒有自定義錯(cuò)誤處理 下面代碼不運(yùn)行了 SET @state2 = '這里有沒有運(yùn)行?';ELSE SET state = -2; END IF; ELSE SET state = -3; END IF; END IF; END $$ DELIMITER ;-- 用以下語句測(cè)試 SET @state = 0; SET @state2 = ''; SET @errorInfo = ''; CALL choose_proc('2014010',1,@state); SELECT @state,@state2,@errorInfo;-- 在存儲(chǔ)過程中,如果sql語句運(yùn)行出錯(cuò),比如:外鍵約束這種錯(cuò)誤報(bào)錯(cuò) -- 后面的語句就不會(huì)運(yùn)行了

轉(zhuǎn)載于:https://www.cnblogs.com/bchen/p/7426315.html

總結(jié)

以上是生活随笔為你收集整理的14. 错误处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。