萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 預存程序結構速查:無參、輸入參、輸出參完整範例

MySQL 預存程序基本語法結構三大類,直接可複製修改使用。

1. 無參數

DROP PROCEDURE IF EXISTS P_XSRBB;
CREATE PROCEDURE P_XSRBB()
BEGIN
  DECLARE VP1 VARCHAR(20);
  SET VP1 = '4';
  SELECT VP1 FROM DUAL;
END;
CALL P_XSRBB();

2. 輸入參數 (IN)

DROP PROCEDURE IF EXISTS P_XSRBB;
CREATE PROCEDURE P_XSRBB(IN vp2 INT)
BEGIN
  DECLARE VP1 VARCHAR(20);
  SET VP1 = '4';
  SELECT vp2 FROM DUAL;  -- 使用輸入參數
END;
CALL P_XSRBB(3434);

3. 輸出參數 (OUT) / 入出參數 (INOUT)

CREATE PROCEDURE P_CALC(IN a INT, IN b INT, OUT sum INT, INOUT mul INT)
BEGIN
  SET sum = a + b;
  SET mul = mul * a * b;  -- INOUT 需呼叫端初始化
END;

SET @mul = 2;
CALL P_CALC(3, 4, @sum, @mul);
SELECT @sum, @mul;  -- 7, 24

關鍵語法提醒

  • DELIMITER $$ 變更結束符號,避免程序體內 ; 衝突,結束時改回 DELIMITER ;。
  • DECLARE 僅能用於 BEGIN...END 區塊開頭,變數名建議加前綴避免與欄位名衝突。
  • SELECT ... INTO @var 可將查詢結果賦值給使用者變數供後續使用。
copyright © 萬盛學電腦網 all rights reserved