I want to create tables in my procedure. I wrote my procedure like this
create or replaceprocedure my_proc is
var1 varchar2(4000);
var2 varchar2(4000);
var3 varchar2(4000);
BEGIN
var1 := 'create table student
as
select /*+ full(st) parallel (st 16) */ *
from my_student st
where status = 'CO'
and age <> 0
EXECUTE IMMEDIATE var1;
var2 := ' create table passenger
as
select /*+ full(ps) parallel (ps 16) */ *
from my_passengers ps
where ps.type = 3
and ps.age = 19';
EXECUTE IMMEDIATE var2;
var3 := 'create table cities
nologging
compress
as
select /*+ parallel (ct8) parallel (ps8) parallel (st8) */ *
from cities ct , passenger ps, student st
where 1 = 1
and -----
------;
EXECUTE IMMEDIATE var3;
end;
But I get some compiling errors. Do you have any idea how to create table in procedures?
My error:
Error(14,25): PLS-00103: Encountered the symbol "CO" when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset The symbol "* was inserted before "CO" to continue.