导入数据库用imp user/passward file=/home/oracle/backup.dmp full=y但是导入之前我想把数据库所有表都给清空,truncate一个表可以truncate table table_name
总共有100多张表,我怎么一次把这100多张表一次都truncate了?????????求sql语句

解决方案 »

  1.   

    select 'truncate table '||table_name||';' from user_tables
    -------
    这样把所有的都打印出来执行
      

  2.   


    本人菜鸟,,能否给我解释这个sql的意思,谢谢啦!!!
      

  3.   

    你写个sql脚本,那里写上100个truncate
    然后sqlplus下运行这个脚本就好了
      

  4.   

    select 'truncate table '||table_name||';' from user_tables
    从user_tables表里找出table_name这一列,然后加个前缀truncate table,合并
    这样就truncate了user_tables里的所有表的数据,
    谢谢1楼啦!!!!!!!!
      

  5.   

    表与表之间应该有constrains的吧,删除表的时候要按主外键的顺序删除,不然报错!
      

  6.   

    还不如把表结构备份出来,然后drop掉库,重建算了, 反正客户端工具那么方便