15.7.7.11 Запрос SHOW CREATE PROCEDURE
SHOW CREATE PROCEDURE proc_name
Данный запрос является расширением MySQL. Он возвращает точную строку, которая может быть использована для повторного создания именованной хранимой процедуры. Аналогичный запрос, SHOW CREATE
FUNCTION, отображает информацию о хранимых функциях (см. Раздел 15.7.7.9, «Запрос SHOW CREATE FUNCTION»).
Для использования любого из запросов, необходимо обладать правами пользователя, указанного как создатель хранимой процедуры DEFINER, иметь SHOW_ROUTINE привилегию, глобальную привилегию SELECT, или привилегию CREATE
ROUTINE, ALTER ROUTINE, или EXECUTE, присвоенную на уровне, включающем хранимую процедуру. Значение, отображаемое для поля Create Procedure или Create
Function, будет NULL, если у вас есть только CREATE ROUTINE, ALTER ROUTINE, или EXECUTE.
mysql> SHOW CREATE PROCEDURE test.citycount\G
*************************** 1. row ***************************
Procedure: citycount
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
Create Procedure: CREATE DEFINER=`me`@`localhost`
PROCEDURE `citycount`(IN country CHAR(3), OUT cities INT)
BEGIN
SELECT COUNT(*) INTO cities FROM world.city
WHERE CountryCode = country;
END
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
Database Collation: utf8mb4_0900_ai_ci
mysql> SHOW CREATE FUNCTION test.hello\G
*************************** 1. row ***************************
Function: hello
sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
Create Function: CREATE DEFINER=`me`@`localhost`
FUNCTION `hello`(s CHAR(20))
RETURNS char(50) CHARSET utf8mb4
DETERMINISTIC
RETURN CONCAT('Hello, ',s,'!')
character_set_client: utf8mb4
collation_connection: utf8mb4_0900_ai_ci
Database Collation: utf8mb4_0900_ai_ci
character_set_client — это значение системной переменной character_set_client в сессии при создании процедуры. collation_connection — это значение системной переменной collation_connection в сессии при создании процедуры. Database
Collation — это сортировка базы данных, к которой относится процедура.
Для хранимой процедуры на JavaScript, созданной с помощью USING для импорта одной или нескольких библиотек, полный список библиотек включён в вывод запроса SHOW CREATE PROCEDURE, даже для библиотек, которых фактически нет. Это также верно для SHOW CREATE FUNCTION.
© 2025 Oracle
Licensed under the GPLv2 License.