MySQL - SHOW CREATE PROCEDURE 語句



MySQL SHOW CREATE PROCEDURE 語句

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

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

SHOW CREATE PROCEDURE 語句顯示用於建立指定過程的(字串)查詢。

語法

以下是 SHOW CREATE PROCEDURE 語句的語法:

SHOW CREATE PROCEDURE procedureName;

其中,procedure_name 是您需要修改的過程的名稱。

示例

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

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

現在,讓我們向 Employee 表中插入一些記錄:

INSERT INTO Employee VALUES 
('Amit', 6554, 'Hyderabad'),
('Sumith', 5981, 'Vishakhapatnam'),
('Sudha', 7887, 'Vijayawada');

假設我們建立了一個名為 myProcedure 的儲存過程。在這裡,我們向 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 ;

以下查詢顯示用於建立上述過程的 CREATE 語句:

SHOW CREATE PROCEDURE myProcedure\G;

輸出

以下是上述查詢的輸出:

************ 1. row ************
       Procedure: myProcedure
        sql_mode: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE 
                  `myProcedure`(
   IN name VARCHAR(30),
   IN sal INT,
   IN loc VARCHAR(45))
   COMMENT 'This is a sample comment'
   BEGIN
      INSERT INTO Employee(Name, Salary, Location) VALUES 
	  (name, sal, loc);
   END
character_set_client: cp850
collation_connection: cp850_general_ci
  Database Collation: utf8mb4_0900_ai_ci
1 row in set (0.07 sec)
廣告