ALTER VIEW

Содержание раздела
  1. Как работает запрос
  2. Синтаксис
    1. Ключевое слово IF EXISTS
    2. Ключевое слово AS SELECT
  3. Варианты ответа
  4. Ограничения
    1. Ограничения выполнения
    2. Ограничения имен
    3. Ограничения SELECT-подзапроса
  5. Пример

Поддерживается в версиях:  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

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

query

SELECT-подзапрос, на основе которого строится новый вид логического представления.

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

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

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

Ключевое слово AS SELECT задает новый SELECT-подзапрос для отображения в представлении.

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

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

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

Ограничения

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

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

  • Псевдонимы (алиасы) в SELECT-подзапросе должны соответствовать требованиям, описанным в разделе Соглашения об именах.

Ограничения 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