CASCADED appears in the WITH CHECK OPTION clause of CREATE VIEW and ALTER VIEW statements. When a view is declared WITH CASCADED CHECK OPTION, every row inserted or updated through that view must satisfy the WHERE clauses of the view itself and of every underlying updatable view referenced in its definition. If any condition is violated, the statement is rejected. CASCADED therefore propagates data-integrity rules down the full chain of nested views, preventing users from bypassing restrictions by updating through higher-level views. If CASCADED (or its synonym CASCADE in some dialects) is omitted, many engines default to LOCAL, meaning only the current view’s predicate is enforced. CASCADED is defined in the SQL standard and implemented by several relational databases, though some use CASCADE, and others always behave as if CASCADED were specified. The keyword has no effect outside WITH CHECK OPTION.
SQL-92
CASCADED validates every predicate in the entire chain of underlying views, whereas LOCAL validates only the predicate defined in the view being updated.
No. Omitting both CASCADED and LOCAL defaults to engine-specific behavior (LOCAL in PostgreSQL, CASCADED in MySQL). Explicitly stating CASCADED guarantees cross-database clarity.
No. CASCADED only influences INSERT, UPDATE, or DELETE operations executed through the view. SELECT statements are unchanged.
PostgreSQL, MySQL, MariaDB, and IBM Db2 support the keyword. SQL Server ignores it and Oracle behaves as if CASCADED were always in effect when WITH CHECK OPTION is used.