SQLの窓

2009年07月13日


Oracle : SQL*Loader のサンプル

CSV 形式のデータを制御ファイルに含めています。WHEN には、= のほか != も指定できるようですが不等式はエラーになりました。

BADFILE は、テーブルに適合しないデータが送られますDISCARDFILE は、WHEN に合致しないレコードです

TRAILING NULLCOLS があるので、CSV 側で列数が足りなくてもエラーにはなりません

NULLIF は、条件が合致すると NULL がセットされます。( DEFAULTIF もあります )


関連する記事
Oracle : 固定長データのSQL*Loader のサンプル


最終的に、通常データに関数指定ができます
※ 多くは試していませんが TO_DATE(:フィールド)+1 が可能だったので
※ いろいろできる可能性があります
LOAD DATA
 INFILE *
-- **************************************************
-- BADFILE  : 拒否レコード
-- **************************************************
 BADFILE 'lightbox.bad'
-- **************************************************
-- DISCARDFILE : 廃棄ファイル
-- **************************************************
 DISCARDFILE 'lightbox.dsc'
-- **************************************************
-- APPEND : 追加
-- REPLACE : 削除後追加( 削除トリガーが起動 )
-- TRUNCATE : TRUNCATE 後追加( 最大限のパフォーマンス )
-- **************************************************
 APPEND
 INTO TABLE "社員マスタ2"
 WHEN "社員コード" != '0005'
-- **************************************************
-- ■ TRAILING NULLCOLS
-- 相対位置に指定した列がレコード中に存在しない場合
-- その列の値はNULLとして処理されます
-- **************************************************
 TRAILING NULLCOLS
--
--
--create table "社員マスタ2" (
--	"社員コード" VARCHAR2(4)
--	,"氏名" VARCHAR2(50)
--	,"フリガナ" VARCHAR2(50)
--	,"所属" VARCHAR2(4)
--	,"性別" NUMBER(15)
--	,"作成日" DATE
--	,"更新日" DATE
--	,"給与" NUMBER
--	,"手当" NUMBER
--	,"管理者" VARCHAR2(4)
--	,"生年月日" DATE
--)
--
--
(
"社員コード" CHAR TERMINATED BY ','
,"氏名" CHAR TERMINATED BY ',' NULLIF "氏名"=BLANKS
,"フリガナ" CHAR TERMINATED BY ',' NULLIF "フリガナ"=BLANKS
,"所属" CHAR TERMINATED BY ',' NULLIF "所属"=BLANKS
,"性別" INTEGER EXTERNAL TERMINATED BY ','
,"作成日" CHAR TERMINATED BY ','  NULLIF "作成日"='//' "TO_DATE(:\"更新日\")+1"
,"更新日" CHAR TERMINATED BY ','  NULLIF "作成日"='//' "TO_DATE(:\"更新日\")+1"
,"給与" INTEGER EXTERNAL TERMINATED BY ','
,"手当" INTEGER EXTERNAL TERMINATED BY ','
,"管理者" CHAR TERMINATED BY ',' NULLIF "管理者"=BLANKS
,"生年月日" CHAR TERMINATED BY ',' "TO_DATE(:\"生年月日\")"
)
BEGINDATA
0001,浦岡 友也,
00002,山村 洋代,ヤマムラ ヒロヨ,0003,1,2005/06/17,2005/09/18,300000,,,
0003,多岡 冬行,タオカ フユユキ,0002,0,2005/08/14,2005/11/14,250000,,,
0004,高田 冬美,タカタ フユミ,0003,1,//,//,250000,,,
0005,内高 友之,ウチタカ トモユキ,0003,0,2005/09/12,2005/11/10,150000,,,
0006,森尾 正也,モリオ マサヤ,0002,0,2005/08/14,2005/12/17,300000,7000,0002,



タグ:Oracle SQLLoader
posted by lightbox at 2009-07-13 20:26 | Oracle : 環境 | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり