首頁 資料庫 mysql教程 MySQL带参数的存储过程小例子_MySQL

MySQL带参数的存储过程小例子_MySQL

Jun 01, 2016 pm 01:37 PM
資訊

bitsCN.com

MySQL带参数的存储过程小例子

 

存储过程P_GET_CLASS_NAME是根据输入的班级号判断班级名称

存储过程P_INSERT_STUDENT是接收输入的学生信息,最终将信息插入学生表。

[sql] 

DROP PROCEDURE IF EXISTS `P_GET_CLASS_NAME`;  

CREATE PROCEDURE P_GET_CLASS_NAME(IN ID int,OUT NAME VARCHAR(50))  

BEGIN  

    IF(ID = 1) THEN   

          SET NAME = '一班';  

    END IF;  

    IF(ID = 2) THEN   

          SET NAME = '二班';  

    END IF;  

END;  

  

DROP PROCEDURE IF EXISTS `P_INSERT_STUDENT`;  

CREATE PROCEDURE P_INSERT_STUDENT(IN ID INT,IN NAME VARCHAR(10),IN CLASSNO INT,IN BIRTH DATETIME)  

BEGIN  

     SET @ID = ID;  

     SET @NAME = NAME;  

     SET @CLASSNO = CLASSNO;  

     SET @BIRTH = BIRTH;  

     SET @CLASSNAME = NULL;  

     CALL P_GET_CLASS_NAME(@CLASSNO,@CLASSNAME);  

       

     SET @insertSql = CONCAT('INSERT INTO TBL_STUDENT VALUES(?,?,?,?)');  

     PREPARE stmtinsert FROM @insertSql;  

     EXECUTE stmtinsert USING @ID,@NAME,@CLASSNAME,@BIRTH;  

     DEALLOCATE PREPARE stmtinsert;  

END;  

  

CALL P_INSERT_STUDENT(1,'徐越',1,'2012-10-01 10:20:01');  

 

在第二个存储过程中

①利用SET声明了参数,调用了第一个存储过程

②在第一个存储过程中的NAME参数是输出参数,所以@CLASSNAME这个参数在调用完第一个过程后就被附值

③最终利用CONCAT拼接SQL语句并传入参数执行SQL语句

 

CALL P_INSERT_STUDENT(1,'徐越',1,'2012-10-01 10:20:01');调用存储过程

 

bitsCN.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在Microsoft Word中刪除作者和上次修改的訊息 如何在Microsoft Word中刪除作者和上次修改的訊息 Apr 15, 2023 am 11:43 AM

如何在Microsoft Word中刪除作者和上次修改的訊息

如何與NameDrop分享聯絡人詳細資訊:iOS 17的操作指南 如何與NameDrop分享聯絡人詳細資訊:iOS 17的操作指南 Sep 16, 2023 pm 06:09 PM

如何與NameDrop分享聯絡人詳細資訊:iOS 17的操作指南

取得 Windows 11 中 GPU 的方法及顯示卡詳細資料檢查 取得 Windows 11 中 GPU 的方法及顯示卡詳細資料檢查 Nov 07, 2023 am 11:21 AM

取得 Windows 11 中 GPU 的方法及顯示卡詳細資料檢查

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息 利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息 Apr 13, 2023 am 10:58 AM

利用多光照資訊的單視角NeRF演算法S^3-NeRF,可恢復場景幾何與材質訊息

微信收到訊息延遲是怎麼回事 微信收到訊息延遲是怎麼回事 Sep 19, 2023 pm 03:02 PM

微信收到訊息延遲是怎麼回事

NameDrop 如何在 iPhone 上運作(以及如何停用它) NameDrop 如何在 iPhone 上運作(以及如何停用它) Nov 30, 2023 am 11:53 AM

NameDrop 如何在 iPhone 上運作(以及如何停用它)

iOS 17 NameDrop:如何在iPhone上輕鬆分享您的聯絡資訊 iOS 17 NameDrop:如何在iPhone上輕鬆分享您的聯絡資訊 Jul 30, 2023 pm 05:18 PM

iOS 17 NameDrop:如何在iPhone上輕鬆分享您的聯絡資訊

如何使用PHP和Exif擴充來讀取照片的光圈範圍信息 如何使用PHP和Exif擴充來讀取照片的光圈範圍信息 Jul 28, 2023 am 11:55 AM

如何使用PHP和Exif擴充來讀取照片的光圈範圍信息

See all articles