Updating Views

INSERT, DELETE, or UPDATE statements can directly modify a view only if all of the following are true of the SELECT statement that defines the view:
  • All of the columns in the view are from a single table.
  • No columns in the projection list are aggregate values.
  • No UNIQUE or DISTINCT keyword is in the SELECT projection list.
  • No GROUP BY clause nor UNION operator is in the view definition.
  • The query selects no calculated values and no literal values.

By using INSTEAD OF triggers, however, you can circumvent these restrictions on the view, if the trigger action modifies the base table.