在数据库中有N多个表名差不多的表,怎样一次性删除?mysql和oracle分别怎么写?
如有这些表名:lw_student;lw_acount;lw_course;lw_address;
怎样删啊,如果是这些呢:lwstudent,lwaccount,lwcourse,lwaddress;

解决方案 »

  1.   

    drop table lwstudent;
    drop table lwaccount;
    drop table lwcourse;
    drop table lwaddress;如果更多,那就写成动态的SQL来执行
      

  2.   


    oracle:
    SELECT 'drop table ' || TABLE_NAME || ';'
      FROM USER_TABLES S
     WHERE S.TABLE_NAME IN
           ('LW_STUDENT', 'LW_ACOUNT', 'LW_COURSE', 'LW_ADDRESS');
      

  3.   

    SELECT 'drop table ' || TABLE_NAME || ';'
      FROM USER_TABLES S
     WHERE S.TABLE_NAME LIKE 'lw_%'
    这有可能是删除所有包含lw 的表。你看还有没有其他带lw的表但不需要删除的。如果没有就这样删除。