MySQL - CREATE PROCEDURE 語句



CREATE PROCEDURE 語句

儲存過程是子程式,是儲存在 SQL 目錄中的 SQL 語句片段。所有可以訪問關係資料庫(Java、Python、PHP 等)的應用程式都可以訪問儲存過程。

儲存過程包含輸入和輸出引數或兩者兼有。如果使用 SELECT 語句,它們可能會返回結果集。儲存過程可以返回多個結果集。

可以使用 MySQL CREATE PROCEDURE 語句建立過程。

語法

以下是 CREATE PROCEDURE 語句的語法:

CREATE PROCEDURE procedure_name (proc_parameter[,...]) routine_body

其中,procedure_name 是您需要建立的函式的名稱,input_arguments 是函式的輸入值,output_parameter 是函式的返回值。

示例

假設我們使用 CREATE TABLE 在 MySQL 資料庫中建立了一個名為 Employee 的表,如下所示:

CREATE TABLE Employee(
   Name VARCHAR(255), 
   Salary INT NOT NULL, 
   Location VARCHAR(255)
);

以下是一個 MySQL 儲存過程的示例。在這裡,我們正在向Employee表中插入一列,該列的值來自使用者(透過輸入引數)。

DELIMITER //
Create procedure myProcedure (
   IN name VARCHAR(30),
   IN sal INT,
   IN loc VARCHAR(45))
      BEGIN
      INSERT INTO Employee(Name, Salary, Location) 
	  VALUES (name, sal, loc);
      END //
DELIMITER ;

呼叫儲存過程

以下語句呼叫上面建立的儲存過程。

CALL myProcedure ('Raman', 35000, 'Bangalore');

如果檢索表的內容,您可以觀察到新插入的行,如下所示:

select * from employee;

輸出

以上查詢產生以下輸出:

姓名 薪水 地點
Raman 35000 Bangalore
廣告