How do I use CREATE OR REPLACE?
ddl, oracle, oracle10g
Solution
This works on functions, procedures, packages, types, synonyms, trigger and views.
Update:
After updating the post for the third time, I'll reformulate this:
This does not work on tables :)
And yes, there is documentation on this syntax, and there are no `REPLACE` option for `CREATE TABLE`.
Problem
Am I correct in understanding that CREATE OR REPLACE basically means "if the object exists, drop it, then create it either way?" If so, what am I doing wrong? This works: ``` CREATE TABLE foo (id NUMBER, title VARCHAR2(4000) DEFAULT 'Default Title') ``` And this doesn't (ORA-00922: missing or invalid option): ``` CREATE OR REPLACE TABLE foo (id NUMBER, title VARCHAR2(4000) DEFAULT 'Default Title') ``` Am I doing something stupid? I don't seem to be able to find much documentation about this syntax.