Часто возникает ситуация, когда в представлении отображаются не все столбцы, а вставить запись нужно во все столбцы. Обычные триггеры не позволят этого сделать, а вот триггер INSTEADOF позволяет.
пример: допустим, у нас есть таблица «Sotrydnik» БД “Ludi”. Необходимо создать представление, которое не будет отображать номер телефона сотрудника.
1. Создадим запрос, нажав на кнопку New Query следующего содержания
USE SOTRYDNIK
GO
CREATE VIEW PHX_SOTRYDNIK
SELECT Tab_nom,Fam,Name, Otch
FROM SOTRYDNIK
2. Чтобы удостовериться, что это представление отображает все столбцы, кроме столбца с номером телефона, создадим запрос, нажав на кнопку New Query следующего содержания
USE LUDI
SELECT * FROM PHX_SOTRYDNIK
3. Выполняем запрос, щелкнув по кнопке , в нижней части окна увидим таблицу, содержащую все столбцы кроме столбца «Телефон».
4. Попытаемся вставить через представление данные нового сотрудника. Для этого создадим запрос, нажав на кнопку New Query ,
4. Выполняем триггер, нажав на кнопку , на панели инструментов. В результате в нижней части экрана мы увидим строчку «Command(s)completedsuccessfully».
5. Далее сохраняем триггер, щелкнув по кнопке Save
6. Удостоверимся в работе триггера, для этого создадим запрос, нажав на кнопку New Query , следующего содержания