create or replace procedure evejb
as
v_createsql1 varchar2(400);
v_dropsql1 varchar2(100);
v_count1 number(9);
begin
v_createsql1:='create table emp (empno nvarchar2(60),empname nvarchar2(60),sex nvarchar2(60),sal nvarchar2(60),dept nvarchar2(60),city nvarchar2(60))';
v_dropsql1:='drop table emp';
select count(*) into v_count1 from user_tables where table_name='EMP';
if v_count1>0
then
execute immediate v_dropsql1;
execute immediate v_createsql1;
commit;
else
execute immediate v_createsql1;
commit;
end if;
insert into emp values('XX01','王小二','man','5400','XX','HZ');
end;
我这边写了一个存储过程,想实现如下效果,如果emp表存在,就先drop,再create,如果不存在,就直接create,表建好之后,再insert into到这个表,但是在编译的时候提示,表或试图不存在,这个是在检查insert into emp这行的时候提示的,请问一下存储过程应该怎么去改才能实现我的意图?