If you create a view using with check option, each row that is inserted through the view must meet the selection criteria of the view.
create view stores_cal as select * from stores where state = "CA" with check option
The with check option clause checks each insert statement against the view’s selection criteria. Rows for which state has a value other than “CA” are rejected.
If a view is created with check option, all views derived from the base view must satisfy the view’s selection criteria. Each new row inserted through a derived view must be visible through the base view.
create view stores_cal30 as select * from stores_cal where payterms = "Net 30"
Because stores_cal was created with check option, all rows inserted or updated through stores_cal30 must be visible through stores_cal. Any row with a state value other than “CA” is rejected.
update stores_cal30 set payterms = "Net 60" where stor_id = "7067"
insert statements are not allowed on join views created with check option.
If you insert or update a row through a join view, all affected columns must belong to the same base table.