ALTER VIEW

Содержание раздела
  1. Как работает запрос
    1. Регистрация запроса
    2. Обработка запроса
    3. Успешный результат
    4. Неуспешный результат
  2. Синтаксис
    1. Ключевое слово IF EXISTS
    2. Ключевое слово AS SELECT query
  3. Варианты ответа
  4. Ограничения
    1. Ограничения выполнения
    2. Ограничения имен
    3. Ограничения SELECT-подзапроса
    4. Другие ограничения
  5. Пример

Поддерживается в версиях: 7.6 / 7.5 / 7.4 / 7.3 / 7.2 / 7.1 / 7.0 / 6.12 / 6.11 / 6.10 / 6.9 / 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.

Запрос изменяет логическое представление в логической БД.

Логическое представление можно также изменить запросом CREATE OR REPLACE VIEW.

Как работает запрос

Регистрация запроса

Каждое изменение представления записывается в журнал, который доступен с помощью запроса GET_CHANGES.

Обработка запроса

Запрос попадает в очередь операций и обрабатывается в порядке его поступления в очередь.

Успешный результат

При успешном выполнении запроса система обновляет представление в логической схеме данных.

Неуспешный результат

При ошибке исполнения корректного запроса система блокирует все последующие DDL-запросы в логической БД. О снятии такой блокировки см. в разделе Снятие блокировки DDL-запросов.

Синтаксис

ALTER VIEW [IF EXISTS] [db_name.]view_name AS SELECT query

Параметры:

db_name

Имя логической базы данных, которой принадлежит логическое представление. Опционально, если выбрана логическая БД, используемая по умолчанию.

view_name

Имя изменяемого представления.

Ключевое слово IF EXISTS

Включает проверку наличия сущности с таким именем до попытки изменения логического представления. Если ключевое слово указано в запросе, успешный ответ возвращается при отсутствии или успешном изменении логического представления, иначе — только при успешном изменении логического представления.

Ключевое слово AS SELECT query

Задает SELECT-подзапрос, на основе которого строится новый вид логического представления. Подзапрос может обращаться к любым столбцам задействованных сущностей, включая системные столбцы sys_from, sys_to и sys_op.

Чтобы системные столбцы источника были доступны через представление, перечислите их в запросе явно. При использовании только * они не будут видны.

Варианты ответа

В ответе возвращается:

  • пустой объект ResultSet при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

Ограничения

Ограничения выполнения

Ограничения имен

Ограничения SELECT-подзапроса

Другие ограничения

  • Информационная схема обновляется асинхронно, поэтому представление может не сразу обновиться в информационной схеме.
  • Системные столбцы источника доступны через представление, если только они явно указаны в запросе на создание/изменение представления.

Пример

ALTER VIEW marketing.stores_by_sold_products AS
  SELECT store_id, SUM(product_units) AS product_amount
  FROM marketing.sales
  GROUP BY store_id
  ORDER BY product_amount ASC
LIMIT 20