mysql8.0 存儲過程 、存儲函數


-- ************************************************
--              存儲過程
-- ************************************************

-- 創建存儲過程

drop procedure if exists pld;  -- 判斷是否存儲,存在則刪除
CREATE PROCEDURE pld(IN pid INT,OUT nm VARCHAR(100))

BEGIN
		-- UPDATE userinfo SET uname = '八戒' WHERE id = pid;
		SELECT uname  FROM userinfo WHERE id = pid INTO nm;

END;



-- 調用帶返回值存儲過程
set @pd = 1;
call pld(@pd,@a);
SELECT @a as a;


-- ************************************************
--              存儲函數
-- ************************************************

-- 創建存儲函數
DROP FUNCTION IF EXISTS getName; -- 判斷是否存在,存在則刪除
CREATE FUNCTION getName(gid INT) RETURNS VARCHAR(100)
DETERMINISTIC
BEGIN
   DECLARE unames VARCHAR(100);
   SET unames=(SELECT uname FROM userinfo WHERE id=gid);
   RETURN (unames);
END;



#測試調用,業務中簡單需求沒必要這么封裝。
SELECT getName(id) FROM userinfo;

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM