oracle的“工具”--》》“导出表”可以做到。但是有些时候是不可以这么操作的。有没有办法用执行脚本的形式做的到?

解决方案 »

  1.   

    使用exp。如:
    exp system/manager@conn_string owner=(test) file=d:\backup\test.dmp log=d:\backup\test.log  buffer=655000
      

  2.   

    --自己写SQL拼接出insert语句,结果集则为脚本
    SQL> select * from t;
     
    CUSTID     BUYMONTH        NUM
    ---------- -------- ----------
    001        cc                1
    001        cc                1
    001        cc                3
    002        cc                1
    002        cc                1
    003        cc                1
     
    6 rows selected
     
    SQL> desc t;
    Name     Type         Nullable Default Comments 
    -------- ------------ -------- ------- -------- 
    CUSTID   VARCHAR2(10) Y                         
    BUYMONTH VARCHAR2(6)  Y                         
    NUM      NUMBER       Y                         
     
    SQL> select 'insert into t values('''||t.custid||''','''||t.buymonth||''','||t.num||');' from t;
     
    'INSERTINTOTVALUES('''||T.CUST
    --------------------------------------------------------------------------------
    insert into t values('001','cc',1);
    insert into t values('001','cc',1);
    insert into t values('001','cc',3);
    insert into t values('002','cc',1);
    insert into t values('002','cc',1);
    insert into t values('003','cc',1);
     
    6 rows selected
     
    SQL> 
      

  3.   

    你是要导出表中的数据,形成insert语句形式的脚本,你可以用PL/SQL工具,先查出结果,然后选中结果集,右键。选择导出结果-》SQL file
      

  4.   

    想导出的是sql脚本。不要log或者dmp文件
      

  5.   

    这个是不是只要最后把insert语句copy出来就可以了。
      

  6.   

    直接spool 然后用动态语句拼接,算不算?
      

  7.   

    用sqlplus spool执行,具体可以参考:http://www.idb-stock.net/idb/2011/06/01/153.html
      

  8.   

    spool  到出导入的时候用 sqlldr 配合使用速度也很快