SQL> SELECT STATUS FROM USER_OBJECTS WHERE OBJECT_NAME='V_TEST_DISABLE';
STATUS
-------
VALID
SQL> ALTER TABLE TEST_DISABLE DISABLE PRIMARY KEY;
Table altered.
SQL> SELECT STATUS FROM USER_OBJECTS WHERE OBJECT_NAME='V_TEST_DISABLE';
STATUS
-------
INVALID
SQL> ALTER TABLE TEST_DISABLE ENABLE NOVALIDATE PRIMARY KEY;
Table altered.
SQL> SELECT STATUS FROM USER_OBJECTS WHERE OBJECT_NAME='V_TEST_DISABLE';
STATUS
-------
INVALID
SQL> ALTER VIEW V_TEST_DISABLE COMPILE;
View altered.
Any idea to keep this view in valid state( but the design logic requires the primary key also to be disabled or dropped)