1. 程式人生 > 資料庫 >詳解MySql儲存過程引數的入門使用

詳解MySql儲存過程引數的入門使用

儲存過程 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儲存過程引數的入門使用詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!