no these sql statement in oracle,
you can drop table directly

解决方案 »

  1.   

    直接删除,没有必要查找,如果要找:
    select 1 from all_tables where table_name='TABLE_NAME';与ms sql server不一样
      

  2.   

    drop表时如果发生例外,表示没有该表,在异常中处理,既事后处理。
      

  3.   

    declare
    num number;
    str varchar2(50);
    begin
    select 1 into num from table_name;
    str:='drop table table_name';
    execute immediate str;
    exception
    when others then
    dbms_output.put_line('不存在该表');
    end;
    /
      

  4.   

    select count(*) into v_count from all_tables where table_name='TABLE_NAME';
      

  5.   

    通过系统表查找
    select * from user_tables where table_name='YOUR TABLENAME'
    判断recordcount是否大于0
    注意 YOUR TABLENAME必须大写
      

  6.   

    create or replace procedure droptable( tablename varchar2)
    as
      v_str varchar2(200);
      v_findtable number(10);
    begin
      select count(*) into v_findtable from user_tables 
             where table_name=upper(tablename);
      if v_findtable=1 then
        v_str := 'drop table '||tablename;
        EXECUTE IMMEDIATE v_str;
      end if;
    end;
    /exec droptable('你要删除的表名');