データをインポートするには
提供:DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#保守作業編】 【DB2逆引きリファレンス目次#データの移動】
目次 |
前提
- データベース接続が必要
- 以下のいずれかが必要: SYSADM権限, DBADM権限
- もしくはインポート作業で発生する個別の行挿入、行更新、表作成を行う権限
解説
データをインポートするには、CLPのIMPORTコマンドを用います。
IMPORT FROM インポート元ファイル名 OF データ形式指定
[MODIFIED BY インポートオプション指定 ] [ALLOW WRITE ACCESS] [COMMITCOUNT コミットカウント指定 ] [RESTARTCOUNT リスタートカウント指定 ] [MESSAGES メッセージ出力先ファイル ] インポート方法指定
- インポート元ファイル名
- インポートするデータを格納しているファイルのパスを指定します。
- データ形式指定
-
ファイルのデータ形式を以下のいずれかで指定します。
- DEL
- カンマ区切りのASCII形式。いわゆるCSV(Comma Separated Values)形式。
- IXF
- 表の型情報なども含むバイナリー形式。
- MODIFIED BY インポートオプション指定
-
インポート処理のオプションを以下のいずれかの形式で指定します。複数のオプションを指定する場合は、空白で区切って並べます。
- chardel
- 列を括る文字として単引用符が用いられているDEL形式のデータをインポートする際に指定します。
- chardel""
- 列を括る文字として二重引用符が用いられているDEL形式のデータをインポートする際に指定します。
- codepage= コードページ指定
- DEL形式でデータをインポートする際に、ファイルで用いられてるコードページを指定します。
- ALLOW WRITE ACCESS
- インポート実行中の表に対する読み書きを許可します。インポート方法がREPLACEもしくはCREATEの場合は指定できません。
- COMMITCOUNT コミットカウント指定
- インポート処理時のコミット発行単位を行数で指定します。
- RESTARTCOUNT リスタートカウント指定
- インポートファイルの何行目から読み取りを開始するのか指定します。
- MESSAGES メッセージ出力先ファイル
- IMPORTコマンドの出力メッセージを記録するファイルのパスを指定します。指定しない場合は標準出力にメッセージが出力されます。
- インポート方法指定
-
データのインポート方法を以下の形式のいずれかで指定します。
- INSERT INTO 表名
- 各行を指定した表に挿入します。表中に予め存在していたデータは更新されません。
- INSERT_UPDATE INTO 表名
- 各行を指定した表に挿入します。挿入しようとした行と同じプライマリキーを持つ行が既に存在していた場合は、挿入しようとしている行で上書きします。
- REPLACE INTO 表名
- 指定した表の内容をすべて削除した後に各行を挿入します。
- REPLACE_CREATE INTO 表名
- 指定した表の内容をすべて削除した後に各行を挿入します。指定した表がない場合は、表および索引を作成してから挿入を実行します。
- CREATE INTO 表名 [IN 表スペース名 [INDEX IN 索引用表スペース名 ] [LONG IN LONG表スペース名 ] ]
- 表および索引を作成した上で、各行を指定した表に挿入します。
使用例
DEL形式のファイル(ここではemployee.del)を表(ここではemployee)に挿入する例。
db2 ==> IMPORT FROM employee.del OF DEL INSERT INTO employee↓
IXF形式のファイル(ここではemployee.ixf)を、表(ここではemployee)を作成した上で挿入する例。
db2 ==> IMPORT FROM employee.ixf OF IXF CREATE INTO employee↓
注意
- インポートは行の挿入を繰り返し実行することと等価のため、インポートする行数に比例してログが発生します。 大量の行を挿入する場合は、発生するログの大きさに注意してください。