mysql存储过程 带参数例子_MySQL带参数的存储过程小例子
存儲(chǔ)過程P_GET_CLASS_NAME是根據(jù)輸入的班級(jí)號(hào)判斷班級(jí)名稱,存儲(chǔ)過程P_INSERT_STUDENT是接收輸入的學(xué)生信息,最終將信息插入學(xué)生
存儲(chǔ)過程P_GET_CLASS_NAME是根據(jù)輸入的班級(jí)號(hào)判斷班級(jí)名稱
存儲(chǔ)過程P_INSERT_STUDENT是接收輸入的學(xué)生信息,最終將信息插入學(xué)生表。
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');
在第二個(gè)存儲(chǔ)過程中
①利用SET聲明了參數(shù),調(diào)用了第一個(gè)存儲(chǔ)過程
②在第一個(gè)存儲(chǔ)過程中的NAME參數(shù)是輸出參數(shù),所以@CLASSNAME這個(gè)參數(shù)在調(diào)用完第一個(gè)過程后就被附值
③最終利用CONCAT拼接SQL語句并傳入?yún)?shù)執(zhí)行SQL語句
CALL P_INSERT_STUDENT(1,'徐越',1,'2012-10-01 10:20:01');調(diào)用存儲(chǔ)過程
,
本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴
本文系統(tǒng)來源:php中文網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的mysql存储过程 带参数例子_MySQL带参数的存储过程小例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql limit不要1_切记!My
- 下一篇: 如何根据分页的当前页数查询数据_数据量很