SELECTした結果セットを表にロードするには
提供:DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#保守作業編】 【DB2逆引きリファレンス目次#データの移動】
目次 |
前提
- データベース接続が必要
- 以下のいずれかが必要: SYSADM権限, DBADM権限
- 表に対するロード権限に加えて、ロード作業で発生する個別の行挿入、行更新を行う権限
- さらにSELECTを実行するのに必要な権限
解説
ファイルを介さず、SELECTの結果セットを直接表にロードすることが可能です。 ファイルを用いる場合に比べてログが小さくなるなどの利点があります。 SELECTした結果セットを直接表にロードするには、LOADコマンドのファイル形式としてCURSORを指定します。
LOAD FROM カーソル名 OF CURSOR
[MESSAGES メッセージ出力先ファイル ] [ ロード方法指定 ] [STATISTICS YES] [ 回復オプション指定 ]
[INDEXING MODE 索引再構築方法指定 ] [ALLOW READ ACCESS]- カーソル名
- SELECTした結果セットを読み取るためのカーソル名を指定します。
- データ形式指定
- ファイルのデータ形式を指定します。指定できる形式は通常のロードの場合と同じです。
- MESSAGES メッセージ出力先ファイル
- LOADコマンドの出力メッセージを記録するファイルのパスを指定します。指定しない場合は標準出力にメッセージが出力されます。
- ロード方法指定
- データのロード方法を指定します。指定できるロード方法は通常のロードの場合と同じです。
- STATISTICS YES
- 表および索引の統計情報を収集します。ロード方法がREPLACEの時のみ指定できます。
- 回復オプション指定
- ロールフォワードリカバリーにおけるロード処理の取り扱いを指定します。指定できる取り扱い方法は通常のロードの場合と同じです。
- INDEXING MODE 索引再構築方法指定
- 索引の再構築方法を指定します。指定できる構築方法方法は通常のロードの場合と同じです。
- ALLOW READ ACCESS
- ロード処理実行中の表に対する読み取りを許可します。ロード方法がREPLACEの場合は指定できません。
手順
- 表(ここではemployee)から全件を読み取るためのカーソル(ここではcursor1)を宣言します。
db2 ==> DECLARE cursor1 CURSOR FOR SELECT * FROM EMPLOYEE↓
- カーソルから結果セットを読み取って表(newemployee)にロードします。
db2 ==> LOAD FROM cursor1 OF CURSOR REPLACE INTO newemployee↓