求教:
现在有test1和test2两张表如何同时drop;
用存储过程该怎么实现,最好有代码?

解决方案 »

  1.   

    begin
      for c1 in (select t.table_name from user_tables t) loop
        execute immediate 'drop table  ' || c1.table_name ||
                          '  cascade constraints';
      end loop;
    end;
    这个可以把你用户下所有表都删除哈!!小心使用哦!
      

  2.   


    改造了下,谢谢!create or replace procedure pro_delete
    as
    begin
    for c1 in 
    (SELECT table_name FROM ALL_TABLES 
    WHERE OWNER = UPPER('user_name') 
    AND (TABLE_NAME = UPPER('test1') or TABLE_NAME = UPPER('test2'))) loop 
    execute immediate 'drop table ' || c1.table_name || ' cascade constraints'; 
    end loop; 
    end;
      

  3.   

    不可能同时的,总有先后的.而且drop表是不能回滚的.
      

  4.   

    如果只有删除两个表
     drop table 表1;
     drop table 表2
    就OK!