15.7.7.10 Вывод определения хранимой процедуры
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 — это кодировка базы данных, с которой связана процедура.
© 2025 Oracle
Licensed under the GPLv2 License.