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 proceduresName;
其中,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)

