Answer Posted / m arun kumar
FORCE
The FORCE option of the CREATE VIEW statement can be used
to create the object even if one of the underlying objects
(i.e. referenced within the view) do not exist.
This can be useful if the views are created before the
underlying objects in creation scripts etc.
/* Try to create a view against a table which does not
exist */
SQL> CREATE OR REPLACE VIEW test_view
2 AS
3 SELECT * FROM non_existent_table;
SELECT * FROM non_existent_table
*
ERROR at line 3:
ORA-00942: table or view does not exist
/* Hence, the view does not exists */
SQL> SELECT * FROM test_view;
SELECT * FROM test_view
*
ERROR at line 1:
ORA-00942: table or view does not exist
/* Specifying FORCE creates the view object (albeit with
errors) */
SQL> CREATE OR REPLACE FORCE VIEW test_view
2 AS
3 SELECT * FROM non_existent_table;
Warning: View created with compilation errors.
/* Trying to SELECT from the view implies it's been created
*/
SQL> SELECT * FROM test_view;
SELECT * FROM test_view
*
ERROR at line 1:
ORA-04063: view "ORAUSER.TEST_VIEW" has errors
/* Creating the missing object then allows us to select
from it */
SQL> CREATE TABLE non_existent_table
2 (
3 a VARCHAR2(10)
4 );
Table created.
SQL> SELECT * FROM test_view;
no rows selected
| Is This Answer Correct ? | 19 Yes | 1 No |
Post New Answer View All Answers
how do you know if your mysql server is alive? : Sql dba
What is compute?
Why do we use procedures?
How do you run a query?
What is the difference between python and sql?
how to concatenate two character strings? : Sql dba
What is pivot in sql?
What is sql entity?
What is scope of pl sql developer in future?
What are the features of pl sql?
Where is all the data on the internet stored?
Can a table have no primary key?
What is the reports view in oracle sql developer?
What are pl sql data types?
Can I join the same table twice?