For a view to be updatable, there must be a one-to-one relationship between the rows in the view and the rows in the underlying table. A view is not updatable if it contains any of the following:
Aggregate functions
DISTINCT
GROUP BY
HAVING
UNION
Subquery in the select list
Certain joins
Nonupdatable view in the FROM clause
A subquery in the WHERE clause that refers to a table in the FROM clause
Refers only to literal values
ALGORITHM = TEMPTABLE
Multiple references to any column of a base table
A view is insertable if it also satisfies the following:
There must be no duplicate view column names.
The view must contain all columns in the base table that do not have a default value.
The view columns must be simple column references and not derived columns.