Правила для Выполнения Операций DML на Представлении

Обычно можно выполнять операции DML на простых представлениях.

  • Невозможно удалить строку, если представление содержит следующее:

    • Групповые функции

    • Предложение GROUP BY

    • Ключевое слово DISTINCT

    • Ключевое слово псевдостолбца ROWNUM

Можно выполнять операции DML на данных посредством представления, если эти операции удовлетворяют определенным правилам.

  • Можно удалить строку из представления, если оно не содержит ничего из нижеперечисленного:

    • Групповые функции

    • Предложение GROUP BY

    • Ключевое слово DISTINCT

    • Ключевое слово псевдостолбца ROWNUM

Невозможно изменить данные в представлении, если они содержат:

  • Групповые функции

  • Предложение GROUP BY

  • Ключевое слово DISTINCT

  • Ключевое слово псевдостолбца ROWNUM

  • Столбцы определяются выражениями

Можно изменить данные посредством представления, если они не содержат ни одного из условий, упомянутых выше или столбцах, определенных выражениями (например, SALARY * 12).

Невозможно добавить данные посредством представления, если представление включает:

  • Групповые функции

  • Предложение GROUP BY

  • Ключевое слово DISTINCT

  • Ключевое слово псевдостолбца ROWNUM

  • Столбцы определяются выражениями

  • Столбцы NOT NULL в базовых таблицах, которые не выбираются представлением

Можно добавить данные посредством представления, если они не содержат ни одного из элементов, перечисленных выше. Нельзя добавить данные к представлению, если представление содержит столбцы NOT NULL без значений по умолчанию в базовой таблице.

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

Для получения дополнительной информации см. раздел “CREATE VIEW” в Справочнике Языка SQL БД Oracle 11g, Выпуск 1 (11.1).

Далее: Возврат Записей без Прямого Соответствия с Внешними соединениями

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)