--判断一下表是否存在然后再drop
select count(rownum) into v_table from user_table where table_name ='excetue_table';
if v_table =1 then 
   execute immediate v_DropString ;    
end if;
替换
execute immediate v_DropString ;    

解决方案 »

  1.   

    不好意思,有点错误:
    from user_table 是 from user_tables
      

  2.   

    execute immediate 'CREATE TABLE execute_table (col1 VARCHAR(10))';
    应该还是权限的问题,因为在存储过程里面创建表需要明确的CREATE TABLE的权限grant create table  to user_name;
      

  3.   

    select count(rownum) into v_table from user_table where table_name ='execute_table';
    where后面的表名要大写.
    EXECUTE_TABLE
      

  4.   

    TO: LGQDUCKY(飘) 
    权限我已经设置了,,create any table ,drop any table权限..