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)
广告

© . All rights reserved.