Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Новое

Инструкция SELECT и обновляемые представления

Инструкция SELECT и обновляемые представленияВыражением запроса может быть практически любая допустимая инструкция SELECT; при этом накладываются минимальные ограничения. К примеру, в определение представления не может быть включено предложение ORDER BY; оно не может быть циклическим; представление не может ссылаться само на себя (напрямую или косвенно) и т. д. Представления могут быть обновляемыми и необновляемыми. Если представление обновляемое, то его можно использовать в инструкциях DML для обновления, удаления и вставки строк таблиц, на которых оно основано. Представление может быть обновляемым только при соблюдении всех следующих условий. Выражение запроса не содержит каких-либо объединений таблиц. Это значит, что обновляемое представление может быть основано только на одной таблице или одном представлении (в последнем случае такое представление также должно быть обновляемым). Все обязательные (с ограничением NOT NULL) столбцы таблицы должны присутствовать в определении представления. В стандарте SQL:2003 не допускается создание в представлениях явных ограничений. В то же время параметр CHECK OPTION можно рассматривать как некоторого рода ограничение. Это предложение может быть задано только в определении обновляемого представления; при этом требуется, чтобы любая инструкция DML, выполняемая в нем, не влияла на данные, которые в данном представлении не присутствуют. Параметр CASCADED (он установлен по умолчанию) указывает на то, что если представление основано на других представлениях, в них тоже выполняется проверка. Ключевое слово LOCAL указывает на выполнение проверки только на том уровне представления, который создавался с его использованием. Представление, созданное в приведенном примере, можно использовать практически так же, как и временные таблицы. К примеру, столбец CONVERTED_PRICE можно заполнять динамически на основе данных других таблиц и представлений.