sql developer的包体定义:
create or replace
package cjs_createTable_action as /*创建表的操作,包定义部分*/
     procedure droptableifexists(p_table in varchar2);/*判断一个表是否存在,如果存在,则将其删除*/     
end cjs_createTable_action;create or replace package body cjs_createTable_action is --包体的实现
    procedure droptableifexists(p_table in varchar2)
    is
    v_count number(10);    
    begin
        select count(*) into v_count from user_objects where object_name = upper(p_table);
    if v_count > 0 then
        execute immediate 'drop table ' || p_table ||' cascade constraints';
    end if;
    end droptableifexists;  end cjs_createTable_action;但oracle sql developer编译的,报错误:PLS-00103: 出现符号 "CREATE"

解决方案 »

  1.   

    包和包体要分开执行编译的,楼主试试这样行不(中间加了个"/"),还不行就分开两段执行吧
    create or replace
    package cjs_createTable_action as /*创建表的操作,包定义部分*/
       procedure droptableifexists(p_table in varchar2);/*判断一个表是否存在,如果存在,则将其删除*/   
    end cjs_createTable_action;
    /
    create or replace package body cjs_createTable_action is --包体的实现
       procedure droptableifexists(p_table in varchar2)
       is
       v_count number(10);   
      begin
       select count(*) into v_count from user_objects where object_name = upper(p_table);
       if v_count > 0 then
       execute immediate 'drop table ' || p_table ||' cascade constraints';
       end if;
       end droptableifexists;   end cjs_createTable_action;