最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL存儲(chǔ)過(guò)程的異常處理方法

 更新時(shí)間:2015年07月20日 17:39:54   作者:鑒客  
這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程的異常處理方法,可實(shí)現(xiàn)有效調(diào)試MySQL存儲(chǔ)過(guò)程處理結(jié)果的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了MySQL存儲(chǔ)過(guò)程的異常處理方法。分享給大家供大家參考。具體如下:

mysql>
mysql> delimiter $$
mysql>
mysql> CREATE PROCEDURE myProc
  ->   (p_first_name     VARCHAR(30),
  ->    p_last_name      VARCHAR(30),
  ->    p_city        VARCHAR(30),
  ->    p_description     VARCHAR(30),
  ->    OUT p_sqlcode     INT,
  ->    OUT p_status_message VARCHAR(100))
  -> BEGIN
  ->
  -> /* START Declare Conditions */
  ->
  ->  DECLARE duplicate_key CONDITION FOR 1062;
  ->  DECLARE foreign_key_violated CONDITION FOR 1216;
  ->
  -> /* END Declare Conditions */
  ->
  -> /* START Declare variables and cursors */
  ->
  ->   DECLARE l_manager_id    INT;
  ->
  ->   DECLARE csr_mgr_id CURSOR FOR
  ->    SELECT id
  ->     FROM employee
  ->    WHERE first_name=p_first_name
  ->       AND last_name=p_last_name;
  ->
  -> /* END Declare variables and cursors */
  ->
  -> /* START Declare Exception Handlers */
  ->
  ->  DECLARE CONTINUE HANDLER FOR duplicate_key
  ->   BEGIN
  ->    SET p_sqlcode=1052;
  ->    SET p_status_message='Duplicate key error';
  ->   END;
  ->
  ->  DECLARE CONTINUE HANDLER FOR foreign_key_violated
  ->   BEGIN
  ->    SET p_sqlcode=1216;
  ->    SET p_status_message='Foreign key violated';
  ->   END;
  ->
  ->  DECLARE CONTINUE HANDLER FOR not FOUND
  ->   BEGIN
  ->    SET p_sqlcode=1329;
  ->    SET p_status_message='No record found';
  ->   END;
  ->
  -> /* END Declare Exception Handlers */
  ->
  -> /* START Execution */
  ->
  ->  SET p_sqlcode=0;
  ->  OPEN csr_mgr_id;
  ->  FETCH csr_mgr_id INTO l_manager_id;
  ->
  ->  IF p_sqlcode<>0 THEN      /* Failed to get manager id*/
  ->   SET p_status_message=CONCAT(p_status_message,' when fetching manager id');
  ->  ELSE
  ->   INSERT INTO employee (first_name,id,city)
  ->   VALUES(p_first_name,l_manager_id,p_city);
  ->
  ->   IF p_sqlcode<>0 THEN   /* Failed to insert new department */
  ->    SET p_status_message=CONCAT(p_status_message,
  ->              ' when inserting new department');
  ->   END IF;
  ->  END IF;
  ->
  ->  CLOSE csr_mgr_id;
  ->
  -> /* END Execution */
  ->
  -> END$$
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> delimiter ;
mysql> set @myCode = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> set @myMessage = 0;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> call myProc('Jason','Martin','New City','New Description',@myCode,@myMessage);
Query OK, 1 row affected (0.00 sec)
mysql>
mysql> select @myCode, @myMessage;
+---------+------------+
| @myCode | @myMessage |
+---------+------------+
| 0    | NULL    |
+---------+------------+
1 row in set (0.00 sec)
mysql>
mysql> drop procedure myProc;
Query OK, 0 rows affected (0.00 sec)

希望本文所述對(duì)大家的MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • linux下mysql提示"mysql deamon failed to start"錯(cuò)誤的解決方法

    linux下mysql提示"mysql deamon failed to start"錯(cuò)誤的解決方法

    網(wǎng)站突然連接不上數(shù)據(jù)庫(kù),于是朋友直接重啟了一下服務(wù)器。進(jìn)到cli模式下,執(zhí)行 service myqsld start 發(fā)現(xiàn)還是提示"mysql deamon failed to start"錯(cuò)誤信息
    2013-04-04
  • MySQL slow_log表無(wú)法修改成innodb引擎詳解

    MySQL slow_log表無(wú)法修改成innodb引擎詳解

    這篇文章主要給大家介紹了關(guān)于MySQL slow_log表無(wú)法修改成innodb引擎的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Windows7下如何在命令行使用MySQL

    Windows7下如何在命令行使用MySQL

    這篇文章主要介紹了Windows7下如何在命令行使用MySQL的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • 查詢MySQL安裝路徑的兩種方法

    查詢MySQL安裝路徑的兩種方法

    這篇文章主要給大家介紹了關(guān)于查詢MySQL安裝路徑的兩種方法,在使用MySQL時(shí)有時(shí)需要知道MySQL的安裝路徑才能進(jìn)行相關(guān)操作,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • 全面詳解MySQL單行函數(shù)分析

    全面詳解MySQL單行函數(shù)分析

    MySQL常見(jiàn)的函數(shù)分為單行函數(shù)和分組函數(shù),單行函數(shù)包含字符函數(shù)、數(shù)學(xué)函數(shù)、日期函數(shù)、流程控制函數(shù)等,下面就詳細(xì)的來(lái)介紹一下MySQL單行函數(shù)
    2023-10-10
  • MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié)

    MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié)

    這篇文章主要介紹了MySQL分頁(yè)技術(shù)、6種分頁(yè)方法總結(jié),本文總結(jié)了6種分頁(yè)的方法并分別一一講解它們的特點(diǎn),需要的朋友可以參考下
    2015-07-07
  • 一看就懂的MySQL的聚簇索引及聚簇索引是如何長(zhǎng)高的

    一看就懂的MySQL的聚簇索引及聚簇索引是如何長(zhǎng)高的

    聚簇索引不是一種單獨(dú)的索引類型,而是一種數(shù)據(jù)存儲(chǔ)方式。innodb的聚簇索引實(shí)際上在同一個(gè)結(jié)構(gòu)中保存了B-tree索引和數(shù)據(jù)行。通過(guò)本文學(xué)習(xí)MySQL的聚簇索引及聚簇索引是如何長(zhǎng)高的,感興趣的朋友一起學(xué)習(xí)下吧
    2021-05-05
  • MySQL中的case?when中對(duì)于NULL值判斷的坑及解決

    MySQL中的case?when中對(duì)于NULL值判斷的坑及解決

    這篇文章主要介紹了MySQL中的case?when中對(duì)于NULL值判斷的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • mysql 5.7.12 winx64安裝配置方法圖文教程

    mysql 5.7.12 winx64安裝配置方法圖文教程

    這篇文章主要為大家分享了mysql 5.7.12winx64安裝配置方法圖文教程,感興趣的朋友可以參考一下
    2016-05-05
  • 分享下mysql各個(gè)主要版本之間的差異

    分享下mysql各個(gè)主要版本之間的差異

    因?yàn)閙ysql的版本較多,而且又被oracle公司收購(gòu),所有很多朋友不是很清楚各個(gè)版本的區(qū)別,這里簡(jiǎn)單介紹下,方便需要的朋友
    2013-06-06

最新評(píng)論

建阳市| 丰镇市| 德清县| 惠安县| 彭山县| 涪陵区| 云梦县| 衡阳县| 天长市| 东宁县| 宣化县| 定边县| 化德县| 卓尼县| 南投市| 化州市| 宁波市| 台中县| 晋城| 崇信县| 崇文区| 临潭县| 舞钢市| 达拉特旗| 永兴县| 龙泉市| 富民县| 昆明市| 牡丹江市| 大兴区| 浦县| 增城市| 恭城| 平罗县| 贞丰县| 南汇区| 佛教| 蒙自县| 正镶白旗| 沁阳市| 鲁甸县|