sqlloader導出數據和導入數據


分類: Oracle

 

忙了一天終於把sqlloader導出數據和導入數據弄清楚了,累死俺了。。。 
這個總結主要分為三個大部分,
第一部分(實例,主要分兩步),第二部分(參數小總結),第三部分(完全參數總結) 

第一部分 
第一步 :這是我的導出數據的腳本call.sql
conn scott/tiger
set echo off
set term off
set line 1000 pages 0
set feedback off
set heading off
set trimspool on 
spool / temp/test/ldr_test.csv
select a.empno||',"'||a.ename||'",'||to_char(a.hiredate,'yyyy-mm-dd hh24:mi:ss')||','||a.sal from test a;
 
spool off
set trimspool off
set heading on
set feedback on
set term on
set echo on
exit

注釋:call.sql腳本執行方法 (1)sqlplus /nolog 先進入sqlplus命令模式
                                         (2)start call.sql  在sqlplus命令模式下執行

第二步 :導入數據的腳本add_test.ctl
LOAD DATA
INFILE ldr_test.csv
TRUNCATE INTO TABLE test
FIELDS TERMINATED BY","  OPTIONALLY ENCLOSED BY'"'
(EMPNO,ENAME,HIREDATE date 'yyyy-mm-dd hh24:mi:ss',SAL)

注釋: 在第一步導出數據后,執行add_test.sql腳本命令為: sqlplus scott/tiger control=add_test.ctl

至此用sqlplus導入/出數據完成了,如果有些參數不明白,請看一下第二三部分。
哦..忘了說 test測試表的結構了,create table test as select empno,ename,hiredate,sal from emp; 
            
第二部分 
spool本身其實 沒有啥難的 ,就是set參數的個數太太多啦!!!下面就是我網上Copy的,當然有一些是自己加上去的
SQL>set colsep' '; //-域輸出分隔符

SQL>set newp none  //設置查詢出來的數據分多少頁顯示,如果需要連續的數據,中間不要出現空行就把newp設置為none,這樣輸出的數據行都是連續的,中間沒有空行之類的

SQL>set echo off; //顯示start啟動的腳本中的每個sql命令,缺省為on

SQL> set echo on               //設置運行命令是是否顯示語句

SQL> set feedback on;       //設置顯示“已選擇XX行”

SQL>set feedback off;      //回顯本次sql命令處理的記錄條數,缺省為on即去掉最后的 "已經選擇10000行"

SQL>set heading off;    //輸出域標題,缺省為on 設置為off就去掉了select結果的字段名,只顯示數據

SQL>set headsep off  //標題分隔符

SQL>set pagesize 0;     //輸出每頁行數,缺省為24,為了避免分頁,可設定為0。(可以簡寫為:set pages 0)

SQL>set linesize 80;     //輸出一行字符個數,缺省為80。(可以簡寫為:set line 80)

SQL>set numwidth 12;     //輸出number類型域長度,缺省為10

SQL>set termout/term off;    //顯示腳本中的命令的執行結果,缺省為on

SQL>set trimout on; //去除標准輸出每行的拖尾空格,缺省為off

SQL>set trimspool on; //去除重定向( spool)輸出每行的拖尾空格,缺省為off

SQL>set serveroutput on;  //設置允許顯示輸出類似dbms_output

SQL> set timing on;          //設置顯示“已用時間:XXXX”

SQL> set autotrace on-;    //設置允許對執行的sql進行分析

SQL>set verify off                     //可以關閉和打開提示確認信息old 1和new 1的顯示. 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM