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

19.29. INFORMATION_SCHEMA VIEWS Таблица

VIEWS таблица предоставляет информацию о представлениях в базах данных. Вы должны иметь SHOW VIEW полномочие получить доступ к этой таблице.

INFORMATION_SCHEMA Имя SHOW Имя Комментарии
TABLE_CATALOG def
TABLE_SCHEMA
TABLE_NAME
VIEW_DEFINITION
CHECK_OPTION
IS_UPDATABLE
DEFINER
SECURITY_TYPE
CHARACTER_SET_CLIENT Расширение MySQL
COLLATION_CONNECTION Расширение MySQL

Примечания:

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.00 sec)mysql> SELECT VIEW_DEFINITION FROM
        INFORMATION_SCHEMA.VIEWS    -> WHERE TABLE_SCHEMA = 'test'
        AND TABLE_NAME = 'v';+----------------------------------+| VIEW_DEFINITION                  |+----------------------------------+| select concat('a','b') AS `col1` |+----------------------------------+1 row in set (0.00 sec)

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