Spec-Zone.ru › MySQL 9.2

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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/show-create-procedure.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API