-- ************************************************ -- 存儲過程 -- ************************************************ -- 創建存儲過程 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;
