Remove Then Create
DECLARE
c_schema_name CONSTANT VARCHAR2 (100) := 'HR';
c_table_name CONSTANT VARCHAR2 (100) := 'EMPLOYEES';
e_no_such_table EXCEPTION;
PRAGMA EXCEPTION_INIT (e_no_such_table, -942);
BEGIN
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE ' || c_table_name;
EXCEPTION
WHEN e_no_such_table
THEN
NULL;
END;
EXECUTE IMMEDIATE
'CREATE TABLE '
|| c_table_name
|| ' AS SELECT * FROM '
|| c_schema_name
|| '.'
|| c_table_name;
END;
Statement processed.