Модифицируемые представления

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

Содержимое представления может изменяться командами модификации, которые будут автоматически перенаправлены к базовой таблице. Чтобы представление было модифицируемым, оно должно быть создано на основе одной таблицы (или другого модифицируемого представления), а запрос, на котором основано представление, не должен содержать подзапросов, агрегатных функций, UDF, хранимых процедур, предложений DISTINCT, GROUP BY и HAVING. Если выполняются все эти условия, то представление автоматически становится модифицируемым, т.е. для него можно выполнять запросы DELETE, INSERT и UPDATE, которые будут изменять данные в таблице-источнике.

Чтобы сделать модифицируемым представление, которое нарушает любое из вышеперечисленных условий, применяется механизм триггеров. Триггеры для модификации представления должны срабатывать при событиях BEFORE DELETE, BEFORE UPDATE и BEFORE INSERT. В теле триггеров необходимо описать, что должно происходить с данными при удалении, изменении и вставке.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: