Spec-Zone .ru
спецификации, руководства, описания, API
|
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
таблица. См. Раздел 19.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
разделяются из определения сервером.