Spec-Zone .ru
спецификации, руководства, описания, API

13.7.5.14. SHOW CREATE VIEW Синтаксис

SHOW CREATE VIEW view_name

Этот оператор показывает a CREATE VIEW оператор, который создает высказанное мнение.

mysql> SHOW CREATE VIEW v\G*************************** 1. row ***************************                View: v         Create View: CREATE ALGORITHM=UNDEFINED                      DEFINER=`bob`@`localhost`                      SQL SECURITY DEFINER VIEW                      `v` AS select 1 AS `a`,2 AS `b`character_set_client: latin1collation_connection: latin1_swedish_ci

character_set_client значение сеанса character_set_client системная переменная, когда представление создавалось. collation_connection значение сеанса collation_connection системная переменная, когда представление создавалось.

Использование SHOW CREATE VIEW требует SHOW VIEW полномочие и SELECT полномочие для рассматриваемого представления.

Можно также получить информацию об объектах представления от INFORMATION_SCHEMA, который содержит a VIEWS таблица. См. Раздел 20.29," INFORMATION_SCHEMA VIEWS Таблица".

MySQL позволяет Вам использовать отличающийся sql_mode настройки, чтобы сказать серверу тип синтаксиса SQL, чтобы поддерживать. Например, Вы могли бы использовать ANSI Режим SQL, чтобы гарантировать MySQL правильно интерпретирует стандартный оператор связи SQL, двойная черта (||), в Ваших запросах. Если Вы тогда создаете представление, которое связывает элементы, Вы могли бы взволновать то изменение sql_mode установка в значение, отличающееся от ANSI мог заставить представление становиться недопустимым. Но дело обстоит не так. Независимо от того, как Вы выписываете определение представления, MySQL всегда хранит его тот же самый путь в канонической форме. Вот пример, который показывает, как сервер изменяет оператор связи двойной черты на a CONCAT() функция:

mysql> SET sql_mode = 'ANSI';Query OK, 0 rows affected (0.00 sec)mysql> CREATE VIEW test.v AS SELECT 'a' || 'b' as col1;Query OK, 0 rows affected (0.01 sec)mysql> SHOW CREATE VIEW test.v\G*************************** 1. row ***************************                View: v         Create View: CREATE VIEW "v" AS select concat('a','b') AS "col1"...1 row in set (0.00 sec)

Преимущество хранения определения представления в канонической форме состоит в том что изменения, произведенные позже в значении sql_mode не будет влиять на следствия представления. Однако дополнительное последствие то, что комментарии до SELECT разделяются из определения сервером.