代码如下
DECLARE 
v_count INTEGER;
BEGIN
select   count(*)   
into v_count   
from TAB   
where TNAME=upper('my_table') ;IF v_count > 0 THEN
   DROP TABLE my_table;
END IF;
END;

解决方案 »

  1.   

    DECLARE
    v_count INTEGER;
    BEGIN
    select count(*)
    into v_count
    from TAB
    where TNAME=upper('tj_test') ;
    dbms_output.put_line(v_count);
    IF v_count > 0 THEN
     execute immediate DROP TABLE tj_test;
    END IF;
    END;
      

  2.   

    忘了引号
    DECLARE
    v_count INTEGER;
    BEGIN
    select count(*)
    into v_count
    from TAB
    where TNAME=upper('tj_test') ;
    dbms_output.put_line(v_count);
    IF v_count > 0 THEN
     execute immediate 'DROP TABLE tj_test';
    END IF;
    END;
      

  3.   

    DECLARE  
    v_count INTEGER;
    BEGIN
    select count(*)   
    into v_count   
    from TAB   
    where TNAME=upper('my_table') ;IF v_count > 0 THEN
      execute immediate 'DROP TABLE my_table';
    END IF;
    END;
      

  4.   

    在pl/sql块里
    ddl语句不能直接写
    要用execute immediate
    例如你是要删除表就要execute immediate 'DROP TABLE my_table'
    而不能简单的写成DROP TABLE my_table
      

  5.   


    DECLARE  
    v_count INTEGER;
    BEGIN
    select count(*) into v_count 
    from TAB   
    where TNAME=upper('my_table') ;IF v_count > 0 THEN
    execute immediate 'DROP TABLE my_table';
    END IF;
    END;