请问我想用PL/SQL developer 导出一组以"FR_T"打头的表,请问该怎么写?
或者直接用exp命令导出也行。但exp命令里tables=(table1,table2...)好像只能指定表明,可我要导FR_T打头的表有数千条应该怎么写?谢谢!

解决方案 »

  1.   

    pl/sql developer里面可以多选表啊,把FR_T打头的全部选中应该可以。where条件直接写就行了呀,就是把SQL语句中where后面的内容放到内阁输入框里面就行了。不过导出多表的话,不好写where吧,除非指定的条件对所有表都适用。
      

  2.   

    不是,我有很多类表,有几千个怎么选啊?意思有什么可以条件选表的方法。
    PL/SQL developer中 where 条件是写什么呢?写table_name like "FR_T%" ? 提示没有table_name字段啊。
    developer 列出表的 是用什么SQL语句列的呢?有人知道吗?
      

  3.   

    给你提供两种法子你可以尝试一下:
    1、既然你的表是FR_T开头的,应该在plsql表中排列时连续的吧。你点中第一个表,然后按住shift建往下拉,再选中最后一个表。就可以把这么多表全选了。然后你右键导出对象即可。
    2、如果你是oracle10 g以上版本你可以用语句
    select wmsys.wm_concat(table_name) from user_tables where table_name like 'FR_T%';
    得到所有的表名用逗号分隔开的。
    然后你再用exp的命令tables=(把你得到的内容粘贴过来)
      

  4.   

    给个建议:
     我想知道的是 你那些表是不是都在一个表空间中?是否那个表空间只有以FR_T为开头的表呢?
    如果是那样的话可以导出整个表空间
      

  5.   

    select 'exp user/password@datatest file=d:\fr.dmp log=d:\fr.log tables=('||    
    wmsys.wm_concat(table_name) ||')'
     from user_tables 
     where table_name like 'FR_T%'; 在10g下可以