首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

建立 MySQL 預存程序完整語法與參數詳解

     編輯:MySQL 資料庫相關知識

預存程序是儲存在資料庫中的編譯過 SQL 程式碼單元,可接受參數、執行邏輯判斷、操作資料表,並回傳結果或錯誤代碼。本文詳細說明建立語法、參數模式與定界符處理。

基本建立語法

CREATE PROCEDURE 程序名稱 ([參數清單])
BEGIN
    -- 宣告區域變數
    -- SQL 陳述式、流程控制等
END;

參數模式詳細說明

每個參數由三部分組成:模式 參數名 資料型態

模式說明預設值
IN輸入參數:呼叫端傳值給程序,程序內修改不影響外部預設模式,可省略
OUT輸出參數:程序內賦值,呼叫端可取得回傳值無
INOUT輸入輸出參數:呼叫端傳入,程序可修改並回傳無

完整範例

DELIMITER //
CREATE PROCEDURE proc_name (IN param_int INT)
BEGIN
    DECLARE var_str VARCHAR(20);
    IF param_int = 1 THEN
        SET var_str = 'MySQL';
    ELSE
        SET var_str = 'PHP';
    END IF;
    INSERT INTO tb (name) VALUES (var_str);
END//
DELIMITER ;

關鍵注意事項

  • 定界符變更:因程序體內含分號,建立前必須用 DELIMITER // 變更結束符,結束後改回 DELIMITER ;。
  • 名稱不區分大小寫:PROCE1() 與 proce1() 視為同一程序。
  • 避免與內建函數重名:命名時勿與 MySQL 內建函數衝突。
  • 刪除程序:DROP PROCEDURE 程序名稱;

呼叫方式

CALL proc_name(1);  -- 傳入參數
CALL proc_name(@out_param);  -- 接收 OUT 參數
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved