Insert With Check Option

Submitted by:Jhon Brain

Date added:07 September, 2014

Category:PL SQL

The "WITH CHECK OPTION" is used to indicate that Oracle will prevent any changes to the table or view that would produce rows that are not included in the subquery. When used in the subquery of a DML statement, you can specify this clause in a subquery in the FROM clause but not in subquery in the WHERE clause.

Tags: check option , sub query

Code Snippet:

--The following statement is legal even though 
-- the third value inserted violates the condition
-- of the subquery where_clause:

INSERT INTO (SELECT department_id, department_name, location_id
FROM departments WHERE location_id < 2000)
VALUES (9999, 'Entertainment', 2500);


-- However, the following statement is illegal because it contains
-- the WITH CHECK OPTION clause:

INSERT INTO (SELECT department_id, department_name, location_id
FROM departments WHERE location_id < 2000 WITH CHECK OPTION)
VALUES (9999, 'Entertainment', 2500);
*
ERROR at line 2:
ORA-01402: VIEW WITH CHECK OPTION where-clause violation
 
 

Comments