テスト用テーブルの作成

テスト用のテーブルを作成します。
create table test_tbl(
		accdate date,
		acctime varchar2(6),
		userid varchar2(25)
 		);

取り込み用ファイルの作成

取り込みテスト用に以下のファイルを作成しておきます。
test.txt
20100122 102222 test1
20100122 102222 test2
20100123 102242 test2
20100124 101252 test1
20100124 102222 test4
20100124 102222 test3
20100124 104222 test1
20100123 101222 test2
20100123 102222 test3
20100122 102232 test1

コントロールファイルの作成

コントロールファイルを作成しテキストで保存します
import.ctl
OPTIONS(LOAD=-1,SKIP=1,ERRORS=-1,ROWS=300) --LOAD:ロードするレコード数、SKIP:スキップするレコード数、ERRORS:許容するエラーの数、ROWS:何件毎にコミットするか 
LOAD DATA
INFILE 'test.txt'
BADFILE 'bad.txt'
APPEND
INTO TABLE test_tbl
FIELDS TERMINATED BY ' '
TRAILING NULLCOLS
(
accdate TERMINATED BY ' ' "TO_DATE(:accdate,'YYYYMMDD')",
acctime TERMINATED BY ' ',
userid TERMINATED BY ' ' 
)

sqlldrの実行

コマンドプロンプトから、sqlldrコマンドで取り込みを実行します
sqlldr userid=system/oracle@127.0.0.1 control=import.ctl log=pref.log
実行後にpref.logで実行結果を確認します。

CSV形式で出力

CSV形式で出力します。
set echo off
set heading off
set termout off
set pause off
set pagesize 0
set linesize 300
set feedback 80
set colsep ','
spool c:\tmp\gaibu\aaa.log
select test_tbl.userid,count(test_tbl.userid) from test_tbl group by userid ;
spool off
最終更新:2010年07月13日 02:28