Spec-Zone.ru › MySQL 5.7

13.7.5.9 Вывод CREATE PROCEDURE

SHOW CREATE PROCEDURE proc_name

Данное утверждение является расширением MySQL. Оно возвращает точную строку, которую можно использовать для повторного создания именованной хранимой процедуры. Аналогичное утверждение, SHOW CREATE FUNCTION, отображает информацию о хранимых функциях (см. Раздел 13.7.5.8, «Утверждение SHOW CREATE FUNCTION»).

Для использования любого из утверждений, вы должны быть пользователем, указанным в части DEFINER или иметь SELECT доступ к таблице mysql.proc. Если у вас нет привилегий для самой процедуры, значение, отображаемое для столбца Create Procedure или Create Function, является NULL.

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_AUTO_CREATE_USER,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: utf8
collation_connection: utf8_general_ci
  Database Collation: latin1_swedish_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_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
     Create Function: CREATE DEFINER=`me`@`localhost`
                      FUNCTION `hello`(s CHAR(20))
                      RETURNS char(50) CHARSET latin1
                      DETERMINISTIC
                      RETURN CONCAT('Hello, ',s,'!')
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: latin1_swedish_ci

character_set_client — значение сессии системной переменной character_set_client на момент создания процедуры. collation_connection — значение сессии системной переменной collation_connection на момент создания процедуры. Database Collation — сортировка базы данных, к которой относится процедура.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/show-create-procedure.html

Spec-Zone.ru

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