詳解MySql儲存過程引數的入門使用
阿新 • • 發佈:2020-01-09
儲存過程 in引數 的使用
IN引數只用來向過程傳遞資訊,為預設值。
-- 儲存過程中 in 引數的 使用 DELIMITER ;; CREATE PROCEDURE name_in(IN `time` VARCHAR(50)) BEGIN SELECT NOW(),`time`; END ;; CALL name_in('現在時間'); -- in 是一個形參 你可以 定義 資料型別 呼叫儲存過程的時候 可以給 實參 DELIMITER ;; CREATE PROCEDURE name_in_2(IN `time` VARCHAR(50)) -- set賦值的 使用 BEGIN SELECT NOW(),`time`; END ;; SET @wo='現在時間'; CALL name_in_2(@wo); DELIMITER ;; CREATE PROCEDURE name_in_4(IN `time` VARCHAR(50))-- DECLARE 建立變數的使用 BEGIN DECLARE `time` DEFAULT 'wo'; -- DECLARE 建立變數的 只在begin-end語句塊 有效的 變數 SELECT NOW(),`time`;-- END ;; -- 可以 使用 DECLARE 在儲存過程中 -- 建立(DECLARE)和 賦值(SET) set @變數名= 值 -- 總結 DECLARE 只在begin-end語句塊 有效 set 加@ 是會話變數在 當前連線中 對連線的客戶端 是有效的
out引數的使用
OUT引數只用來從過程傳回資訊。
MySQL儲存過程"out"引數:從儲存過程內部傳值給呼叫者。
該引數初始值為 null,無論呼叫者是否給儲存過程引數設定值。
DELIMITER ;; CREATE PROCEDURE name_out(IN `one` INT,IN two INT,OUT shu INT) -- out 輸出引數 的使用 BEGIN SET shu=`one`+two; -- 直接 兩個輸入引數 相加 賦值給 輸出引數 set 變數名 是賦值的意思 -- set 賦值 在當前儲存過程中 有效 比如 可以使用 select shu ; -- set @賦值 在當前連線客服端中有效 END ;; CALL name_out(3,3,@shuchu); SELECT @shuchu AS 輸出引數; -- 在呼叫儲存過程的時候可以 定義一個 @引數 來接收 輸出引數 也就是 返回值
以上所述是小編給大家介紹的MySql儲存過程引數的入門使用詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!