LOAD 制御ステートメントの構文とオプション

LOAD ユーティリティー制御ステートメントは、複数のオプションを使用して、 ユーティリティー・ジョブが実行する機能を定義します。

制御ステートメントは、ISPF/PDF 編集機能を使って作成することができます。 制御ステートメントを作成した後、それを順次データ・セットまたは区分データ・セットに 保管します。 ジョブを実行するための JCL を作成するときは、SYSIN DD ステートメントを使用して、ユーティリティー 制御ステートメントを格納するデータ・セットの名前を指定してください。

変更の開始

構文図

注: 変更の開始構文図は、LOAD ユーティリティ文でオプションを指定する際のサポートされている順序を示しています。 オプションを異なる順序で指定すれば動作するかもしれませんが、代替の指定は IBM ではサポートされていません。変更の終わり
構文図を読むビジュアルシンタックスダイアグラムをスキップする LOAD DATAINDDNSYSRECINDDNDD 名 (ddname)INDDN(,DD 名 (ddname))INCURSORcursor-namePREFORMATCOPYDICTIONARY1インテジェットPRESORTEDNOPRESORTEDYESPARALLEL( サブタスク数)PRESORTROWFORMATRRFROWFORMATBRFRBALRSN_CONVERSIONEXTENDEDRBALRSN_CONVERSIONNONEレジュメ仕様フラッシュコピー仕様KEEPDICTIONARYREUSELOGYESLOGNONOCOPYPEND作業dddn-specSORTKEYSSORTKEYSNO整数format-specFLOAT(S390)FLOAT(IEEE)EBCDICASCIIUNICODECCSID(,整数)NOSUBSENFORCECONSTRAINTS1ENFORCENONOCHECKPENDERRDDNSYSERRERRDDNDD 名 (ddname)MAPDDNSYSMAPMAPDDNDD 名 (ddname)DISCARDDNSYSDISCDISCARDDNDD 名 (ddname)DISCARDS0DISCARDS整数BACKOUTNOBACKOUTYESSORTDEVTdevice-typeSORTNUM整数CONTINUEIF( start: 終了)=X' バイトれつ'' 文字ストリング'無視指定デフロート仕様オーバーライド指定drain-specINDEXDEFERNONEINDEXDEFERNPINONUNIQUEALLNONUNIQUEIMPLICIT_TZ' タイムゾーン文字列'UPDMAXASSIGNEDVALYESUPDMAXASSIGNEDVALNODEFINEAUXNODEFINEAUXYESFORCENONEFORCEREADERSALLKEEP_EMPTY_PAGESYESKEEP_EMPTY_PAGESNOINTO-TABLE-spec2
レジュメ仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするRESUMENO3SHRLEVELNONESHRLEVELREFERENCE4REPLACEコピー仕様統計仕様RESUMEYESSHRLEVELNONEコピー仕様SHRLEVELCHANGE
コピー仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするCOPYDDN(SYSCOPY)( ddname1, ddname2)(, ddname2)RECOVERYDDN( ddname3, ddname4)
フラッシュコピー仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするFLASHCOPYNOFLASHCOPYYESCONSISTENTFCCOPYDDN( template-name)
統計仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップする STATISTICS統計表仕様 統計インデックス仕様REPORTNOREPORTYESUPDATEALLUPDATEACCESSPATHSPACENONESTATCLGMEMSRT整数INVALIDATECACHENOINVALIDATECACHEYESHISTORYALLACCESSPATHSPACENONEFORCEROLLUPYESNO
統計表仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするTABLE(ALL)SAMPLE整数USE PROFILETABLE( table-name)表統計スペック
表統計スペック
構文図を読むビジュアルシンタックスダイアグラムをスキップするSAMPLE整数COLUMNALLCOLUMN(,カラム名),COLGROUP(,カラム名)colgroup統計仕様USE PROFILE
colgroup統計仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするFREQVALCOUNT整数5MOSTBOTHLEASTHISTOGRAMNUMQUANTILES100NUMQUANTILES整数
統計インデックス仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするINDEX(ALL)correlation-stats-specINDEX(,index-namecorrelation-stats-spec)
correlation-stats-spec
構文図を読むビジュアルシンタックスダイアグラムをスキップするKEYCARD6FREQVALNUMCOLS1COUNT10FREQVALNUMCOLS整数COUNT整数5MOSTBOTHLEASTHISTOGRAMNUMCOLS1NUMQUANTILES100NUMCOLS整数NUMQUANTILES100NUMQUANTILES整数
作業dddn-spec
構文図を読むビジュアルシンタックスダイアグラムをスキップするWORKDDN(SYSUT1,SORTOUT)WORKDDN( ddname1, ddname2)( ddname1,仕分け)(SYSUT1, ddname2)
format-spec
構文図を読むビジュアルシンタックスダイアグラムをスキップするFORMATUNLOADSQL/DSINTERNALDELIMITEDCOLDEL','COLDELcoldelCHARDEL'"'CHARDELchardelDECPT'.'DECPTdecptSPANNEDYESNO
無視指定
構文図を読むビジュアルシンタックスダイアグラムをスキップする IGNORE ( WHENPARTCONVVALPROCIDERRORDUPKEY )
デフロート仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップする DECFLOAT_ROUNDMODE ROUND_CEILINGROUND_DOWNROUND_FLOORROUND_HALF_DOWNROUND_HALF_EVENROUND_HALF_UPROUND_UP
オーバーライド指定
構文図を読むビジュアルシンタックスダイアグラムをスキップする OVERRIDE ( ,SYSTEMPERIODIDENTITYTRANSIDNONDETERMINISTICROWCHANGE )7
drain-spec
構文図を読むビジュアルシンタックスダイアグラムをスキップするDRAIN_WAITIRLMRWT値DRAIN_WAIT整数RETRYUTIMOUT値RETRY整数RETRY_DELAY計算済みデフォルトRETRY_DELAY整数SWITCHTIMENONESWITCHTIMEタイムスタンプlabeled-duration-expression
labeled-duration-expression
構文図を読むビジュアルシンタックスダイアグラムをスキップするCURRENT_DATECURRENT_TIMESTAMPWITH TIME ZONE +  - 定数YEARYEARSMONTHMONTHSDAYDAYSHOURHOURSMINUTEMINUTESSECONDSECONDSMICROSECONDMICROSECONDS
注:
  • 1 SHRLEVEL REFERENCE を指定した場合は、ENFORCE NO が使用されます。
  • 2 INTO-TABLE 指定の構文図およびオプションの説明については、INTO-TABLE-spec を参照してください。
  • 3 INTO TABLE 節の RESUME または REPLACE の値は、LOAD RESUME のデフォルト値を上書きします。
  • 4 SHRLEVEL REFERENCE では、REPLACE をテーブルスペースレベルまたは INTO TABLE PART 節で指定する必要があります。
  • 5 COUNTキーワードが指定されていない場合、ユーティリティは自動的にカウント値を決定し、最も頻繁に発生する値を収集します。
  • 6 KEYCARDオプションは非推奨です。 KEYCARD の機能は、索引のインライン統計の デフォルト実行に組み込まれたため、無効にすることはできません。
  • 7 代替構文: 次の構文も引き続き受け入れられます: OVERRIDE(SYSTEMPERIOD) の代わりに PERIODOVERRIDE、OVERRIDE(TRANSID) の代わりに TRANSIDOVERRIDE、OVERRIDE(IDENTITY) の代わりに IDENTITYOVERRIDE。 ただし、キーワード PERIODOVERRIDE、TRANSIDOVERRIDE、および IDENTITYOVERRIDE は推奨されていません。
変更の終わり

オプションの説明

DATA
データをロードすることを指定します。 このキーワードはオプションであり、意味を明確にする ためにのみ使用します。
INDDN ddname
入力データセット またはデータセットを指定します。

DD 名 は、ジョブ・ステップまたはユーティリティー入力ストリーム内のテンプレートの名前からの DD ステートメントの名前です。 デフォルト値は SYSRECです。

変更の開始複数の ddname 値が指定された場合、それらのデータセットはLOADへの入力として動的に連結されます。 最大 1000個の DD 名 最大値を指定することができます。 同じ DD ステートメントをジョブ・ステップから 2 回以上指定することはできません。変更の終わり

DRDA 高速ロードを使用している場合、 DD 名 は SYSCLIEN でなければなりません。

入力データ・セットのレコード・フォーマットは、固定長または可変長でなければなりません。 このデータ・セットは、基本順次アクセス方式 (BSAM) によって読み取り可能な順次データ・セットでなければなりません。

入力ファイルが HFS ファイルか zFS ファイルの場合、PATH オプションを指定してテンプレートを使用します。

INCURSOR カーソル名
カーソルで定義されているように、入力データ・セットが SELECT ステートメントの結果表になることを指定します。 カーソルを LOADによって使用する前に宣言する必要があります。 EXEC SQL ユーティリティーを使用して、カーソルを定義します。

カーソル名 はカーソルの名前です。 この名前は 8 文字を超えることはできません。 指定したカーソルは、 Db2® ファミリーのクロスローダ機能で使用でき、これにより、DRDA準拠のリモート・サーバからデータをロードすることができます。

制約事項:
  • カーソルを定義した表と同じ表にデータをロードすることはできません。
  • 従属表に定義されているカーソルを使用して、 RI リレーションシップ内の親表にデータをロードすることはできません。
  • フィールド仕様を指定することも、または INCURSOR オプションで廃棄処理を使用することもできません。
  • INCURSOR を以下のオプションで指定することはできません
    • SHRLEVEL CHANGE
    • NOSUBS
    • FORMAT UNLOAD
    • FORMAT SQL/DS
    • FORMAT INTERNAL
    • CONTINUEIF
    • WHEN
    • SPANNED YES
推奨変更の開始ロードするテーブルと同じテーブルスペース内のテーブルにカーソルを指定しないでください。 この状態を回避できない場合は、以下の EXEC SQL ステートメントを指定して SQL 並列処理を使用不可にしてください。
EXEC SQL
SET CURRENT DEGREE = '1' ;
ENDEXEC                                                                   
この場合の並列処理を使用不可にすると、クレームとドレーン間の競合を回避します。 変更の終わり
PREFORMAT
残りのページを事前フォーマット設定することを指定します。 その範囲は、table-name で指定された表に関連した表スペースおよび 索引スペースの割り振り済み RBA の最高位置までです。 この事前フォーマット設定は、データがロードされ、索引が作成された後に行われます。

PREFORMAT の操作は、1 つの表スペース全体とその索引スペースに対して、または、1 つのパーティション化表スペース の 1 つのパーティションおよび対応するパーティション化索引のパーティション (存在する場合) に対して 行われます。 (PART integer PREFORMAT ではなく) LOAD PREFORMAT を 指定すると、LOAD は表スペース・レベルでシリアライズするように指示され、これによって、別のパーティションの 並行処理を禁止することができます。 パーティション・レベルでシリアライズする場合は、PART integer PREFORMAT を指定します。

PREFORMAT キーワードは、基本表または LOAD がシリアライズされたパーティションに関連付けられた LOB 表スペースおよび補助索引にも適用されます。 XML オブジェクトは事前フォーマット設定されません。

COPYDICTIONARY 整数
LOAD ユーティリティーで、1 つのパーティションからパーティション化表スペース上の他の複数のパーティションに、既存のコンプレッション・ディクショナリーをコピーできます。 LOAD は、パーティション番号が integer のパーティションから現行のコンプレッション・ディクショナリーをコピーし、そのコンプレッション・ディクショナリーを使用して、置き換えるパーティションの入力データを圧縮します。 integer のデフォルト値は 1 です。

COPYDICTIONARY は、コンプレッション・ディクショナリーを空のパーティションにコピーする方法を提供します。 コピー元のパーティションには、有効なコンプレッション・ディクショナリーがある必要があります。

変更の開始COPYDICTIONARY を指定すると、 LOAD は、圧縮を使用して定義されているパーティションにのみ圧縮ディクショナリーをコピーします。変更の終わり

COPYDICTIONARY キーワードの使用には、次の制限があります。

  • COPYDICTIONARY を使用できるのは、 LOAD ステートメントのターゲットがパーティション化された ( 非 UTS) か、範囲内のパーティション表スペースである場合のみです。
  • LOAD ステートメントで PART integer REPLACE を同時に指定する必要がある。
  • COPYDICTIONARY と RESUME YES は同時に指定できない。
  • LOAD ステートメントで KEEPDICTIONARY を同時に指定することはできない。
PRESORTED
入力データ・セットがクラスタリング・キー順に既にソートされているかどうかを指定します。 入力データ・セットがクラスタリング・キー順の場合、LOAD ユーティリティーは RELOAD フェーズと BUILD フェーズを並列に実行でき、クラスタリング索引のソートをスキップできます。
NO
入力データ・セットがまだソートされていないことを指定します。 LOAD ユーティリティーがクラスタリング索引をソートしなければなりません。
YES
入力データ・セットが既にソートされていることを指定します。 LOAD ユーティリティーは、クラスタリング索引をソートせず、RELOAD フェーズと BUILD フェーズを並列に実行します。

PRESORTED YES を指定する際には、以下の要件を満たされなければなりません。

  • 並列索引作成に必要なすべてのデータ・セットが使用可能になっている必要があります。
  • パーティション化されたクラスタリング索引があるパーティション表スペースの場合、以下の順序でデータ行を事前ソートしなければなりません。
    1. パーティション番号
    2. 各パーティション内のクラスタリング索引のキー順
  • 非パーティション化クラスタリング索引があるパーティション表スペースの場合や、単一の表がある非パーティション化表スペースの場合は、クラスタリング索引のキー順でデータ行を事前ソートしなければなりません。
  • 単純な分割された(UTSではない)テーブルスペースの場合:
    • 表内のクラスタリング索引のキー順でデータ行を事前ソートしなければなりません。
    • LOAD ステートメントには INTO TABLE 文節を 1 つしか含めることができません。
制約事項:
  • 以下の条件下では、LOAD は警告メッセージを出し、PRESORTED NO を指定した場合と同様の処理を続行します。
    • SHRLEVEL CHANGE も指定した場合
    • パーティションの並列処理を使用する場合
    • ターゲット表に索引がない場合
    • SORTKEYS NO を指定した場合
    • 変更の開始PRESORT も指定されている場合変更の終わり
  • RELOAD フェーズでは、REPLACE と PRESORTED YES を指定した LOAD のみを再始動できます。 RELOAD フェーズ内で RESUME と PRESORTED YES を指定した LOAD を再始動すると、ユーティリティー処理は異常終了し、LOAD はエラー・メッセージを出します。
  • PRESORTED YES の指定時に、入力データ・セットがクラスタリング・キー順序でソートされていないと LOAD が判別した場合、LOAD は順序どおりでないキーを容認します。 しかし、クラスタリング索引の場合、インライン統計は収集されず、リアルタイム統計は無効化されます。 LOAD は警告メッセージを出します。
PARALLEL または PARALLEL num-subtasks
LOAD が並行して処理できるサブタスクの最大数を指定します。 並列サブタスクを使用すると、ユーティリティーは、ロード操作の経過時間を短縮できる可能性があります。

単一の入力データ・セットからロードする場合、 PARALLEL は追加のデータ並列処理を使用可能にします。

num-subtasks は 0 から 32767までの整数でなければなりません。

推奨 :PARALLEL(0)またはPARALLELを指定する。

値を指定しないで PARALLEL キーワードを指定すると、デフォルト値は PARALLEL(0) になります。

特定の LOAD ジョブのサブタスクの可能な合計数は、以下の要因によって異なります。

  • ロードされるデータ・パーティションの数
  • ロードされる表の索引の数
  • インライン統計の収集の有無
  • LOAD ステートメントが、ジョブ全体に対して単一の入力データ・セット、またはパーティションごとに 1 つの入力データ・セットを指定するかどうか。 変更の開始(複数のddname値でINDDNを指定した場合、LOADは、サブタスクの計算の目的で、その指定を単一の入力データセットとして扱います。)変更の終わり

LOAD は、メモリーの制約および使用可能なプロセッサーの数に基づいて、処理するこれらのサブタスクの最適な数を計算します。

LOAD は、 PARALLEL の値を次のように使用します。

  • PARALLEL(0) または PARALLELを指定した場合は、次のようになります。 LOAD は、最適な並列サブタスクの数について計算した値を使用します。
  • PARALLEL(1) を指定した場合 このユーティリティーは、ロード操作に必要な最小限の並列サブタスクを使用してデータをロードします。
  • PARALLEL に 0 または 1 以外の値を指定すると、次のようになります。 値が計算された並列サブタスクの数より小さい場合、 LOAD は指定された値または必要な並列サブタスクの最小数を使用します。 値が計算された並列サブタスクの数よりも大きい場合、 LOAD は並列サブタスクの数を最適な数に制限します。

PARALLEL は、 PARAMDEG_UTIL サブシステム・パラメーターの値をオーバーライドします。

推奨: PARALLELとSHRLEVEL CHANGEを指定する場合は、並列サブタスクの競合を最小限に抑えるために、テーブル空間のLOCKSIZE属性をROWに設定します。

変更の開始PARALLEL は、以下の状況では無視されます。変更の終わり

変更の開始
  • 単一の入力データ・セットが指定され、 LOAD ステートメントに以下のオプションのいずれかが組み込まれます。
    • SPANNED YES
    • INCURSOR
    • PRESORTED
    • FORMAT INTERNAL
    • FORMAT SQL/DS
  • ロードされる表スペースは増加対応パーティション表スペースであり、 LOAD ステートメントに SHRLEVEL NONE オプションが含まれています。
  • ロードされるテーブルはXML列を持ち、単純テーブルスペースまたはセグメント化(UTSではない)テーブルスペースにあり、LOAD文にはSHRLEVEL CHANGEオプションが含まれています。
  • ロードされる表に LOB 列または XML 列があり、LOAD ステートメントに SHRLEVEL NONE オプションが含まれている。
変更の終わり
変更の開始PRESORT変更の終わり
変更の開始入力レコードをターゲット表スペースにロードする前に、クラスタリング順にソートすることを指定します。 表スペース内の既存の行は影響を受けません。

LOAD がデータを事前にソートするには、クラスタリング索引が必要です。 クラスタリング索引は暗黙的または明示的に作成することができます。 それ以外の場合、クラスタリング索引が存在しない場合は、 PRESORT は無視されます。 表スペースに複数の表が含まれており、それらの表のすべてがクラスタリング索引を持っているわけではない場合は、すべての入力レコードがソートされます。 ただし、クラスタリング索引のないこれらの表については、ロード後のレコードの順序が、入力データ・セットの順序と整合していない可能性があります。

プレソート・処理はレコードをメモリー内に渡し、レコードを保持するための 2 次データ・セットは必要ありません。

PRESORTを指定する場合は、 SORTDEVT も指定する必要があります。これにより、必要なすべてのソート・データ・セットが動的に割り振られます。 これらのソート済みデータセットの名前は、「LOADが使用するデータセット」 で説明されています。

以下のオプションまたはオブジェクトのいずれかと PRESORT を指定することはできません。

  • LOB 列または XML 列を含む表
  • クローン関係を持つ表スペース
  • ハッシュ・オーガナイズ表スペース
  • FORMAT SPANNED
  • FORMAT UNLOAD
  • FORMAT SQL/DS
  • FORMAT SPANNED YES

PRESORT を PRESORTED YESに指定すると、 PRESORTED YES は無視されます。

LOADは、以下の状況ではPRESORTを無視します

  • 変更の開始BACKOUT が指定された場合変更の終わり
  • クロスローダー機能を使用している場合やテープから読み込んでいる場合など、ユーティリティがファイルサイズを決定できない場合。 このような場合には、 NUMRECS または SORTKEYS を指定して、ファイル・サイズを指示します。
変更の終わり
ROWFORMAT
影響を受ける表スペースまたはパーティションでの出力行フォーマットを指定します。 このキーワードは、CLONE関係に参加しているLOB、カタログ、ディレクトリ、XML、またはユニバーサル(UTS)テーブルスペースには影響しません。
重要: ROWFORMATは非推奨であり、 Db2 12 for z/OS®、つまり、その使用は推奨されていません。 このキーワードは引き続きサポートされていますが、サポートは最終的に削除される可能性があります。 Db2 12の非推奨関数 をご覧ください。
BRF
再編成または置換の対象である表スペースまたはパーティションについて、基本行フォーマットに変換するか、基本行フォーマットのままにすることを指定します。
RRF
再編成または置換の対象である表スペースまたはパーティションについて、再配列行フォーマットに変換するか、再配列行フォーマットのままにすることを指定します。
変更の開始 RBALRSN_CONVERSION 変更の終わり
変更の開始LOAD ユーティリティーの完了後のターゲット・オブジェクトの RBA または LRSN フォーマットを指定します。
重要 : RBALRSN_CONVERSION は非推奨であり、その使用は推奨されません。 このキーワードは引き続きサポートされていますが、サポートは最終的に削除される可能性があります。 BASIC が指定されている場合、または 6 バイト・フォーマットのオブジェクトに NONE が指定されている場合、ユーティリティーは失敗します。

RBALRSN_CONVERSION を指定する場合は、REPLACE キーワードも指定する必要があります。

EXTENDED
基本の 6 バイト形式のオブジェクトが検出された場合、10 バイトの拡張形式に変換されることを指定します。

EXTENDED がデフォルト値です。

NONE
変換が実行されないことを指定します。

基本 6 バイト・フォーマットの表スペースに RBALRSN_CONVERSION NONE が指定されている場合、ユーティリティーは失敗します。

CLONE 関係が存在する場合、ページ・セット変換は実行できません。 クローン関係の場合、クローン表をドロップし、基本表を拡張 10 バイト形式に変換してから、クローン表を再作成しなければなりません。

ページ形式を拡張に変換する際に、基本表スペースの LOAD REPLACE は、その基本表スペースに関連付けられたバージョン管理されている XML 表スペースを変換しません。

変更の終わり
RESUME
レコードが空の表スペースにロードされるのか、空でない表スペースにロードされるのかを指示します。 非セグメント化表スペースの場合、削除済みのマークが付いている行またはドロップされた表の行 については、スペースは再使用されません。
重要: LOAD RESUME (PART integer RESUME ではなく)を指定すると、LOADはテーブルスペース全体でシリアライズを行うようになり、個別のパーティションの同時処理が妨げられる可能性があります。 他のパーティションが並行処理されるようにするには、 PART integer RESUME を指定します。
NO
空の表スペースにレコードをロードします。 表スペースが空でなく、かつ REPLACE が使用されなかった場合、 メッセージが出され、ユーティリティー・ジョブ・ステップはジョブ・ステップ条件コード 8 で終了します。

削除された行またはドロップされた表の行を含む非セグメント化表スペースの場合、REPLACE キーワード を使用すると効率が上がります。

default の値は、 PART 整数 RESUME YESを指定してオーバーライドしない限り、 NOになります。

YES
非空の表スペースにレコードをロードします。 表スペースが空の場合は、警告メッセージが出されますが、 表スペースはロードされます。 ロードは、表スペースの現在のデータの終わりから開始されます。 削除済みのマークが付いている行またはドロップされた表の行については、スペースは再使用されません。

変更の開始RESUME YES は、SHRLEVEL REFERENCE と同時に指定すると無効です。変更の終わり

LOAD RESUME YES SHRLEVEL CHANGE は、ロードされるそれぞれの行ごとに、BEFORE トリガー と AFTER トリガーをアクティブにします。

変更の開始LOAD RESUME YES SHRLEVEL NONE が COPYDDN または RECOVERYDDNで指定されている場合は、 LOAD 処理中にインライン・イメージ・コピーが作成されます。 インライン・イメージ・コピーは、表スペースのフル・コピーになります。 INTO TABLE PARTを使用して個々の区画を指定した場合、イメージ・コピーおよび SYSCOPY レコードには、それらの区画のみが含まれます。変更の終わり

変更の開始BACKOUT変更の終わり
変更の開始現在の LOAD 操作によってロードされたすべての行を削除するかどうかを指定します ( オブジェクトが使用不可のままの場合 BACKOUT キーワードが単独で指定されている場合、 YES がデフォルト値です。 変更の開始ただし、ゼロ以外の値の DISCARDS が指定され、破棄されたレコード数が DISCARDS の値を超える場合を除き、BACKOUT 処理は発生しません。変更の終わり

変更の開始BACKOUT YES は、 RESUME YES および SHRLEVEL NONE の場合にのみサポートされます。表スペース・レベルまたは INTO TABLE PART 文節で REPLACE または RESUME NO を指定することはできません。 また、 INCURSOR を BACKOUT YESとともに指定することはできません。変更の終わり

はい
現行の LOAD 操作によってロードされたすべての行が削除されることを指定します。これは、入力レコードがオブジェクトを使用不可になります。 表スペースは、LOAD の完了時に使用可能になります。 BACKOUT が指定された場合、YES がデフォルトとなります。
いいえ
エラー・レコードが検出された場合、 LOAD によって行われた更新はロールバックされないことを指定します。 この動作は、 BACKOUT キーワードが指定されていない場合のデフォルトです。
変更の終わり
SHRLEVEL
LOAD ユーティリティー・ジョブの際に、アプリケーションが表スペースまたはパーティション に並行アクセスできる程度を指定します。 以下のパラメーター値は、並行アクセスできる程度が大きくなる順に示されています。
NONE
アプリケーションが表スペースまたはパーティションに並行アクセスできないことを指定します。
変更の開始REFERENCE変更の終わり
変更の開始SWITCH フェーズの期間を除き、LOAD がデータをロードする先の表スペースまたはパーティションからの読み取りを、アプリケーションが並行して実行できることを指定します。

LOAD REPLACE SHRLEVEL REFERENCE は、ターゲット・オブジェクトのシャドー・コピーにデータを再ロードすることを指定します。LOAD は、SWITCH フェーズで、アプリケーションのそれ以降のアクセスをオリジナル・コピーからシャドー・コピーに切り替えます。 このオプションは、クローン関係のある表スペースや、LOB 列または XML 列を使用して定義されているターゲット表ではサポートされません。

変更の開始SHRLEVEL REFERENCEでは、REPLACEをテーブルスペースレベルまたはINTO TABLE PART句で指定する必要があります。変更の終わり

変更の開始SHRLEVEL REFERENCE を指定した場合は、 ENFORCE NO オプションが使用されます。 変更の終わり

変更の開始LOAD REPLACE SHRLEVEL REFERENCE ジョブが必要なドレーンの取得に失敗した場合、ユーティリティーは戻りコード 8 で終了します。変更の終わり

変更の終わり
CHANGE
LOAD が LOAD 期間の大多数のデータをロードする表スペースまたはパーティションから、アプリケーションが並行して読み取りおよび書き込みを行うことができることを指定します。

LOAD SHRLEVEL CHANGE ジョブの機能は、大量 INSERT に似ています。 通常の LOAD ジョブは表スペース全体をドレーンするのに対して、LOAD SHRLEVEL CHANGE は INSERT ステートメントのように機能し、オブジェクトにアクセスする際にクレームを使用します。

SHRLEVEL CHANGE を指定する場合、次のパラメーターはいずれも指定できません。
  • INCURSOR
  • RESUME NO
  • REPLACE
  • KEEPDICTIONARY
  • LOG NO
  • ENFORCE NO
  • STATISTICS
  • COPYDDN
  • RECOVERYDDN
  • MAPDDN
  • PREFORMAT
  • REUSE
  • PART 整数 REPLACE

個々のパーティションをロードするときに SHRLEVEL CHANGE を指定する場合、RESUME YES も指定する必要があります。 RESUME YES は、個々の PART 節に指定するか、またはメイン LOAD ステートメントから継承することができます。

LOAD RESUME YES SHRLEVEL CHANGE は、SORT、BUILD、SORTBLD、INDEXVAL、または ENFORCE のフェーズを実行しません。さらに互換性と並行性に関する考慮事項もそれぞれ異なります。

通常、LOAD RESUME YES ジョブは、既に存在するレコードの末尾に新しいレコードをロードします。 しかしながら、SHRLEVEL CHANGE オプションを用いた LOAD RESUME YES ジョブでは、ユーティリティーは、 クラスタリング順にできるだけ近い順番で、使用可能なフリー・スペースに新しいレコード を挿入しようとします。 この LOAD ジョブでは、フリー・ページの追加作成は行われません。 多数のレコードを挿入すると、それらのレコードはクラスタリング順とは異なる順番に格納される傾向があります。 この場合は、LOAD ユーティリティーでレコードをロードした後、REORG TABLESPACE ユーティリティーを実行してください。

推奨: LOADユーティリティで多数のレコードがロードされた場合は、RUNSTATS、SHRLEVEL CHANGE、UPDATE SPACE、そして条件付きREORGを実行します。

ロードされる表に ID 列が存在する場合は、ID 列に CACHE 属性を指定することによって、パフォーマンスを向上させることができます。

LOAD RESUME YES SHRLEVEL CHANGE の場合、XML 表スペースに対するロック・エスカレーションは使用不可になります。

LOAD RESUME YES SHRLEVEL CHANGE中に作成されるログレコードは、 Db2 LOAD RESUME YES SHRLEVEL CHANGE中に作成されたログ記録は、 Db2DataPropagator, ロードされるテーブルがデータキャプチャ変更で定義されている場合に使用できます。

SHRLEVEL CHANGE オプションを指定した LOAD ジョブでは、レコードは SYSIBM.SYSCOPY 内に挿入されません。

BEFORE および AFTER の行トリガーは、SHRLEVEL CHANGE の場合のみアクティブになります。 各行のステートメント・トリガーも、RESUME YES SHRLEVEL CHANGE の場合はアクティブになります。

REPLACE
レコードがロードされる前に表スペースおよびそのすべての索引が 空にリセットされている必要があるかどうかを示します。 このオプションが指定されると、 表スペース内の (ロードしようとしている表だけでなく) すべての表のすべての既存の行が、 新しくロードされる行で置き換えられます。 Db2 STOGROUPで定義されたデータセットの場合、REUSEオプションを指定していない限り、このオプションでデータセットが削除され、再定義されます。 ユーザーは、LOAD REPLACE を実行する表スペース内のすべての表の LOAD 権限を 持っている必要があります。 この権限なしで LOAD REPLACE を行おうとすると、エラー・メッセージを受け取ることになります。

REPLACEオプションを指定してテーブル領域全体を置換する場合、INTO TABLE のPART整数REPLACEオプションを指定することはできません。

(PART integer REPLACE ではなく) LOAD REPLACE を指定すると、LOAD は表スペース・レベルでシリアライズするように指示されます。 パーティション・レベルでシリアライズする場合は、PART integer REPLACE を指定します。 パーティション・レベルでの REPLACE の指定については、INTO TABLE のキーワードの説明を参照してください。

制約事項:
  • LOAD REPLACE は、データのバージョン管理を使用して定義される表に対しては許可されません。
  • ペンディングの定義変更がマテリアライズされるより前のポイント・イン・タイムへの RECOVER が表スペースに対して実行された後、その表スペースに対して LOAD REPLACE は許可されません。 LOAD REPLACE を実行する前に、表スペース全体に対して REORG を実行し、ポイント・イン・タイム・リカバリー・プロセスを完了する必要があります。
  • アーカイブ使用可能表に対しては LOAD REPLACE は許可されません。 (アーカイブ表を含む表スペースに対する LOAD REPLACE は許可されます。)
COPYDDN (ddname1,ddname2)

イメージ・コピーの 1 次 (ddname1) および バックアップ (ddname2) のコピー・データ・セットの DD ステートメントを指定します。

DD 名 は、前の TEMPLATE 制御ステートメントからの DD 名または TEMPLATE 名の指定です。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。 デフォルト値は 1 次コピー用の SYSCOPY です。 バックアップ・コピーにデフォルトはありません。

変更の開始COPYDDN は、 REPLACE または RESUME YES SHRLEVEL NONEと一緒に指定することができます。変更の終わり

  • 変更の開始COPYDDN が REPLACEとともに指定されている場合は、 LOAD の実行時に指定された表またはパーティションについて、フル・イメージ・コピー・データ・セット (SHRLEVEL REFERENCE) が作成されます。 イメージ・コピーが作成される表スペースまたはパーティションが COPY ペンディング状況にされることはありません。 変更の終わり
  • 変更の開始RESUME YES SHRLEVEL NONEを指定して COPYDDN が指定されている場合、 LOAD 処理中にインライン・イメージ・コピーが作成されます。 インライン・イメージ・コピーは、表スペースのフル・コピーになります。 INTO TABLE PARTを使用して個々の区画を指定する場合、イメージ・コピーおよび SYSCOPY レコードには、それらの区画のみが含まれます。 COPYDDN が表スペース・レベルで指定されている場合は、 INTO TABLE PART レベルで指定することはできません。変更の終わり

変更の開始ENFORCE フェーズまたは INDEXVAL フェーズが実行されない場合、LOAD REPLACE 中に取得されるイメージ・コピーを RECOVER TOCOPY で使用することは推奨されません。これらのイメージ・コピーには、ユニーク索引違反、参照制約違反、または索引評価エラーが含まれている可能性があるためです。 変更の終わり

変更の開始表スペース・レベルで COPYDDN を指定し、1 つ以上の INTO TABLE PART 文節も指定した場合、LOAD ステートメントで指定されたパーティションのページのみを含む順次インライン・コピーが作成されます。 LOAD 操作は、パーティション・レベルでシリアライズされます。これにより、同じ表スペース内の他のパーティションに対して並行 LOAD ジョブを実行できるようになります。 さらに、グローバル・コピー・オプション (指定されたテープ・ドライブなど) は、すべてのパーティション・レベル・コピーに適用されます。変更の終わり

表に XML データをロードするときに COPYDDN を指定すると、インライン・コピーは基本表スペースについてのみ取られ、XML 表スペースについては取られません。

LOB列を含むテーブルをロードする際にCOPYDDNを指定すると、 Db2 インデックス、LOBテーブルスペース、XMLテーブルスペースのコピーは作成されません。 これらの作業は別に行う必要があります。

RECOVERYDDN (ddname3,ddname4)

リカバリー・サイトのイメージ・コピーの 1 次 (ddname3) および バックアップ (ddname4) コピー・データ・セットの DD ステートメントを指定します。

DD 名 は、前の TEMPLATE 制御ステートメントからの DD 名または TEMPLATE 名の指定です。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。

変更の開始RECOVERYDDN は、REPLACE または RESUME YES SHRLEVEL NONE と一緒に指定することができます。 RECOVERYDDN が表スペース・レベルで指定されている場合は、 INTO TABLE PART レベルで指定することはできません。 変更の終わり

重複したイメージ・コピー・データ・セットを作成することはできません。

COPYDDN の説明にリストされている制約事項および要件は、RECOVERYDDN にも適用されます。

FLASHCOPY
FlashCopy® テクノロジーを使用してオブジェクトのコピーを作成するかどうかを指定します。 有効値は YES、NO、または CONSISTENT です。 FlashCopy を使用すると、各パーティションまたはオブジェクトの各部分に対して個別のデータセットが作成されます。

YESまたはCONSISTENTを指定するのは、 Db2 データセットが FlashCopy バージョン2のディスクボリュームにある場合のみです。

ユーティリティ制御文の FlashCopy の仕様は、サブシステムパラメータを使用して定義された FlashCopy の仕様をすべて上書きします。 Db2 サブシステムパラメータで定義されている FlashCopy サブシステムのパラメータで、このユーティリティのデフォルト動作として FlashCopy の使用が指定されている場合、FLASHCOPYオプションはユーティリティ制御文から省略することができます。

重要: 入力データセットが1シリンダー未満の場合、FLASHCOPYの設定に関わらず、 FlashCopy テクノロジーはオブジェクトのコピーに使用されない場合があります。 FlashCopy を使用しない場合、コピーはIDCAMSによって実行されます。
NO
FlashCopy を行わないことを指定します。 FLASHCOPY では NO がデフォルト値です。
YES
FlashCopy テクノロジーがオブジェクトのコピーに使用されることを指定します。
重要: 以下の状況下では、YES が指定されているにもかかわらず、COPY ユーティリティが FlashCopy を使用しない場合があります
  • FlashCopy バージョン2のディスクボリュームは利用できません
  • ソーストラックはすでに FlashCopy 操作の対象となっています
  • ターゲットトラックは、 FlashCopy 操作のソースです
  • コピーに関連する関係の最大数を超過した
FlashCopy を使用しない場合、LOADユーティリティは従来のI/O方法を使用してオブジェクトをコピーするため、実行時間が予想よりも長くなる可能性があります。
CONSISTENT
SHRLEVEL CHANGE が指定された場合、 FlashCopy テクノロジーを使用してオブジェクトをコピーし、コピーに含まれるコミットされていない作業はすべて、コピーを一貫性のあるものにするためにコピーから取り消されることを指定します。 SHRLEVEL NONE を指定した場合、イメージ・コピーは既に整合性のある状態であり、CONSISTENT を指定する必要はありません。

FlashCopy イメージコピーを一貫して使用することで、順次フォーマットイメージコピーを必要とせずに復旧することができます。

FLASHCOPY CONSISTENT を指定すると、ユーティリティーの処理中に追加の時間および追加のシステム・リソースが必要になります。これは、ユーティリティーがログを読み取り、変更をイメージ・コピーに適用する必要があるためです。 同様に、一貫した FlashCopy イメージコピーからの復旧にも、ログを読み込み、以前にバックアウトされた作業を再適用するための追加の時間とシステムリソースが必要です。

制限事項 :NOT LOGGED 属性で定義されたオブジェクトをコピーする場合は、CONSISTENT を指定できません。 NOT LOGGED 属性を使用して定義されているオブジェクトに対し CONSISTENT を指定すると、ユーティリティーは、オブジェクトのコピーを作成せず、戻りコード 8 のメッセージ DSNU076I を発行します。
FCCOPYDDN
FlashCopy の画像コピーのデータセット名を作成する際に使用するテンプレートを指定します。 FlashCopy を使用する際にLOAD制御文でFCCOPYDDNに値が指定されていない場合、FCCOPYDDNサブシステム・パラメータで指定された値が使用されるテンプレートを決定します。
(テンプレート名
FlashCopy の画像コピーのデータセット名は、テンプレートの指定に従って割り当てられています。 テーブルスペースまたはインデックススペースレベルの FlashCopy イメージコピーについては、パーティションまたはピースごとにデータセットが割り当てられるため、テンプレート仕様におけるデータセットの命名規則が十分に一意であることを確認してください。 &DSNUM 変数を使用してください。この変数は実行時にパーティション番号または部分番号に解決されます。
STATISTICS
テーブルスペース、インデックス、またはその両方に対する統計情報の収集を指定します。統計情報はカタログに格納されます。 Db2 カタログに保存されます。

他の statistics-spec オプションや correlation-stats-spec オプション をいずれも指定せずに STATISTICS キーワードを指定する場合、このユーティリティーは表スペース統計のみを収集します。 統計は、基本表スペースについては収集されますが、LOB 表スペース と XML 表スペースについてはいずれも収集されません。

制約事項:
  • 暗号化されたデータに対して STATISTICS が指定された場合、DB2 は、 このデータに関する有用な統計を提供しない可能性 があります。
  • 指定された表が表クローンの場合は、STATISTICS を指定 できません。

STATISTICS TABLE キーワードによって識別されるすべての表は、LOAD ユーティリティー制御ステートメントの INTO TABLE オプションに指定された 1 つ以上の表の表スペースに属している必要があります。

TABLE
列情報の収集が行われる表を指定します。

LIST キーワードでは STATISTICS TABLE table-name を指定しないでください。 代わりに、STATISTICS TABLE (ALL) を指定します。

(ALL)
表スペース内のすべての表のすべての列について、情報が収集されることを指定します。
(table-name)
列情報の収集が行われる表を指定します。 修飾子を省略すると、ユーティリティー・ジョブのユーザー ID が 使用されます。 名前にブランクが含まれている場合は、表名を引用符で囲みます。

指定する表が複数の場合は、TABLE オプションを繰り返す必要があります。 複数の TABLE オプションはすべて、一緒に指定される可能性のある INDEX キーワードの前または後に指定する必要があります。 例えば、2 つの TABLE キーワードの 間に INDEX キーワードを指定してはなりません。

SAMPLE 整数
索引の非先行索引列または非索引列の統計の収集の際、サンプリングする行のパーセントを示します。 1 から 100 までの任意の値を指定することができます。

デフォルト値は 25です。 SAMPLE オプション を LOB 表スペースに対して指定することはできません。

変更の開始USE PROFILE変更の終わり
変更の開始表の統計を収集するために使用する保管済みの統計プロファイルを指定します。 統計プロファイルは SET PROFILE オプションを使用して作成され、UPDATE PROFILE オプションを使用して更新されます。

列、列グループ、および索引の指定は、 制御ステートメントに含めることはできませんが、統計プロファイルに 保管されるときに使用されます。

指定された表に対するプロファイルが存在しない場合、デフォルトの統計が収集されます。
  • 表名を指定しないときは、TABLE ALL INDEX ALL がプロファイル指定に使用されます。
  • 表名を指定したときは、COLUMN ALL INDEX ALL がプロファイル指定に使用されます。

変更の開始USE PROFILE を指定すると、プロファイル・オプションは、メッセージ DSNU1376I の SYSPRINT に含まれます。変更の終わり

変更の開始FL 507 さらに、 Db2 プロファイルに含まれない既存の統計を削除します。 プロファイルに含まれていない全ての頻度、キー・カード、およびヒストグラム統計は、カタログから削除されます。 これらの統計は、指定された表またはパーティションについてのみ削除されます 統計はカタログ履歴表から削除されません。 UPDATE NONE または UPDATE SPACEを指定した場合、統計は削除されません。 変更の終わり

変更の終わり
COLUMN
列情報の収集が行われる列を指定します。
このオプションを指定できるのは、統計の収集が行われる特定の表 を指定する場合 (TABLE(table-name)) に限られます。 特定の表を指定し、 COLUMN オプションを指定しない場合は、デフォルト COLUMN(ALL) が使用されます。 TABLE オプションを使用するときに特定の表を指定しない場合、COLUMN オプションは指定できません。ただし、COLUMN(ALL) が指定されたと想定されます。
(ALL)
表内のすべての列について、統計が収集されることを指定します。
( カラム名, ...)
統計の収集が行われる列を指定します。

最大 10 個の列名をリストにして指定できます。 指定する列が複数の場合は、それぞれの名前をコンマで区切ります。

INDEX
情報の収集が行われる索引を指定します。 列情報の収集は、索引の最初の列について行われます。 すべての索引は同じ表スペースに関連付けられている必要があり、その表スペースは TABLESPACE オプション で指定されたものでなければなりません。

LIST キーワードでは STATISTICS INDEX index-name を指定しないでください。 代わりに、STATISTICS INDEX (ALL) を指定します。

(ALL)
表スペースに含まれる表で定義されたすべての索引について、列情報を収集することを指定します。
(index-name)
情報の収集が行われる索引を指定します。 名前にブランクが含まれている場合は、索引名を引用符で囲みます。
COLGROUP (列名,... )
指定された列セットを 1 つのグループとして扱うことを示します。 このオプションにより、インライン統計では、指定された列グループでカーディナリティー値を 収集できます。 インライン統計では、XML 表スペースおよび索引の処理時に COLGROUP が 無視されます。

COLGROUP キーワードを指定した場合、インライン統計では指定された列グループの相関統計が収集されます。 インライン統計で分散統計も収集する場合は、COLGROUP とともに FREQVAL オプションを指定します。

(column-name, ...) 列グループに含まれる列の名前を指定します。

変更の開始単一の1 つの列に列グループを定義するときに、 STATCLGMEMSRT オプションを指定するか、 STATCLGSRT サブシステム・パラメーターの値を変更することによって、 RUNSTATS パフォーマンスを向上させることができます。 これらのオプションを使用して、外部ソート・プログラムによる列グループ・ソートを回避できます変更の終わり

複数の列グループを指定する場合は、COLGROUP オプションを繰り返します。

制限事項 :COLGROUP値の長さは、 SYSIBM.SYSCOLDIST カタログテーブルのCOLVALUE列の最大長を超えることはできません。
FREQVAL
COLGROUP オプションと一緒に指定した場合、指定した列のグループで頻度統計も 収集されることを示します。 (COLGROUP は、カーディナリティー統計が収集されることを示し ます。) 列ごとに 1 つの統計グループが収集されます。 COLGROUP FREQVALと一緒に COUNT 整数を指定する必要があります。 変更の開始XMLテーブルスペースを処理する際、ユーティリティはFREQVAL MOST/LEAST/BOTHを無視します。変更の終わり
COUNT整数
変更の開始指定された列グループから収集される、頻繁に発生する値の数を示します。 例えば、COUNT 20 は、DB2 が列グループから、頻繁に発生する 20 個の値を収集することを意味します。 変更の開始COUNTキーワードが指定されていない場合、ユーティリティは自動的にカウント値を決定し、最も頻繁に発生する値を収集します。変更の終わり 1000以上の値を指定すると、一部のSQL文の準備時間が長くなることがあります。 さらに、非常に大きなCOUNT値を指定すると、大量のストレージが使用されるため、パーティションが数百あるパーティショニングされたオブジェクト上でユーティリティを実行すると、ストレージの制約が発生する可能性があります。
MOST
COLGROUP が指定された場合に、指定された列セットについて、最も頻繁に発生する値 をユーティリティーが収集することを指示します。
BOTH
COLGROUP が指定された場合に、指定された列セットで発生頻度の最も高い値と最も低い値 をユーティリティーが収集することを示します。
LEAST
COLGROUP が指定された場合に、指定された列セットで最も発生頻度の低い値 をユーティリティーが収集することを示しています。
変更の終わり
HISTOGRAM
COLGROUP オプションとともに指定された場合に、指定された列のグループに関するヒストグラム統計を収集することを示します。 インライン統計では、XML 表スペースおよび索引の処理時に HISTOGRAM が 無視されます。

インライン統計を使用して収集するヒストグラム統計は、RUNSTATS を使用して収集するヒストグラム統計と同じではありません。 インライン統計によって収集するヒストグラム統計は、単なる概算統計です。 より正確な統計を得るには、RUNSTATS を使用してください。

NUMQUANTILES 整数
ユーティリティーが収集する変位値の数を指定します。 この整数値は 1 以上でなければなりません。 指定する変位値の数は、列または列グループ内のそれぞれに異なる値の合計数を超えてはなりません。 変位値の最大数は 100 です。

NUMQUANTILES キーワードが省略された場合、 NUMQUANTILES の値はデフォルトの 100 になります。 表内のレコード数に 基づいて変位値の数が再調整され、最適な数に減らされます。

KEYCARD
KEYCARD オプションは、ユーティリティー制御ステートメントで非推奨となり、索引のキー列内の値に関するカーディナリティー統計を収集する場合に指定する必要がなくなりました。

STATISTICS オプションと INDEX オプションが指定されると、このユーティリティーは常に、索引内の 1 から n までのキー列のすべての組み合わせにある、異なるそれぞれの値をすべて収集します。n は索引内の列の数です。 KEYCARD が非推奨になったことに伴い、 この機能を使用不可にすることはできなくなりました。

このユーティリティーでは、KEYCARD オプションを指定しても許容されます。 STATISTICS と INDEX が指定されると、このユーティリティーでは、制御ステートメントに KEYCARD オプションが含まれている場合も除外されている場合も、メッセージは発行されません。

FREQVAL
頻出値統計の収集を制御します。FREQVAL を指定する場合は、必ず NUMCOLS キーワードを続けて指定する必要があります
NUMCOLS
指定された索引から頻度値を収集する際に、連結するキー列の数を示し ます。 「3」を指定すると、最初の 3 つのキー列の連結についての頻度値が収集されます。 デフォルト値は 1 です。これは、DB2 が索引の先頭のキー列の頻度値を 収集することを意味します。
COUNT
収集する頻度値の数を示します。 「15」を指定すると、DB2 は指定されたキー列から 15 個の 頻度値を収集します。 変更の開始COUNTキーワードが指定されていない場合、 Db2 は、頻繁に発生する値の自動的に決定された数の統計情報を収集します。変更の終わり
HISTOGRAM
指定された索引に関するヒストグラム統計が要求されることを示します。
NUMCOLS
指定された索引からヒストグラム統計を収集する際に連結するキー列の数。
NUMQUANTILES
NUMQUANTILES に続く整数値は、要求される変位値の数を示します。 この整数値は 1 以上でなければなりません。

ヒストグラム統計は、順序が同じキーについてのみ収集できます。 ヒストグラム統計で、指定されたキー列の順序が混合している場合、DSNU633I 警告メッセージが出されます。

REPORT
収集される統計を報告するためのメッセージのセットを生成するかどうかを 指定します。
NO
メッセージのセットが出力として SYSPRINT に送られないことを示します。
YES
メッセージのセットが出力として SYSPRINT に送られることを示します。 生成されるメッセージは、RUNSTATS ユーティリティーで指定する キーワード (TABLESPACE、INDEX、TABLE、COLUMN など) の組み合わせによって異なります。 ただし、これらのメッセージは UPDATE オプションの指定に応じて変わる ことはありません。 REPORT YES にすると、常に SPACE および ACCESSPATH 統計のレポートが生成されます。
UPDATE
収集された統計をカタログ表に挿入するかどうかを示します。 また、UPDATE によって、アクセス・パスの選択に使用される統計、またはデータベース管理者が 使用する統計を選択することもできます。
ALL
収集されたすべての統計をカタログ内で更新することを示します。
ACCESSPATH
アクセス・パスの選択に使用される統計を提供するカタログ表の列のみを更新することを示します。
SPACE
データベース管理者が、特定の表スペースまたは索引の状況を評価するときに役立つ統計を 提供するカタログ表の列のみを更新することを示します。
NONE
収集された統計でカタログ表を更新しないことを示します。 このオプションは、REPORT YES が指定されている場合にのみ有効です。
変更の開始STATCLGMEMSRT integer変更の終わり
変更の開始COLGROUP オプションで定義された単一の列に関する統計を収集するときに、ユーティリティーがレコードのソートに使用できるメモリーの量を指定します。 STATCLGMEMSRT は、外部ソート・プログラムによる列グループ・ソートを回避するために使用します。これは、統計収集のパフォーマンスに悪影響を及ぼす可能性があります。

整数 は、ユーティリティーがメモリー内ソートに使用できるメモリー・スペースのメガバイト数を指定します。 ソートに必要なスペースの量が 整数 値を超える場合、ユーティリティーはソート・プログラムを呼び出します。 0を指定すると、ユーティリティーは自動的にソート・プログラムを呼び出します。

列グループのソートに必要なスペースの量は、以下の要因によって異なります。

  • ユーティリティーが統計を収集している列グループの数
  • 単一列の列グループの長さ
  • 列内の特殊値の数 (カーディナリティー)

STATCLGMEMSRT の値は、 STATCLGSRT サブシステム・パラメーターの値をオーバーライドします。

変更の終わり
変更の開始 INVALIDATECACHE 変更の終わり
変更の開始インライン統計を収集した結果、動的ステートメント・キャッシュ内のステートメントが無効にされるかどうかを示します。 このユーティリティーがキャッシュされたステートメントを他の理由で無効にする場合、このオプションによってその動作が妨げられることはありません。
YES
ジョブ・ステートメントで指定されたオブジェクトについて、動的キャッシュ内のステートメントが無効にされます。
NO
ジョブ・ステートメントで指定されたオブジェクトについては、インライン統計の収集によって動的キャッシュ内のステートメントは無効にされません。 ただし、インライン統計以外の理由 (例えば、このユーティリティーが制限状態のオブジェクトを解決する場合や、保留中の ALTER 操作を適用する場合) で、キャッシュされたステートメントがこのユーティリティーによって無効にされる場合があります。
変更の終わり
HISTORY
カタログ・ヒストリー・テーブルに対するすべてのカタログ表の挿入または更新を記録することを指定します。

デフォルト値は、パネル DSNTIP6の STATISTICS HISTORY フィールドに指定されている値です。

ALL
収集された統計は、すべてカタログ履歴表で更新されることを示します。
ACCESSPATH
アクセス・パスの選択に使用される統計を提供するカタログ履歴表の列のみを更新することを示します。
SPACE
スペース関連のカタログ統計のみをカタログ履歴表内で更新することを示します。
NONE
収集された統計によってカタログ履歴表を更新しないことを示します。
FORCEROLLUP
RUNSTATS が実行された場合に、一部のパーティションで統計が収集されていない場合 (例えば、パーティションに何もデータがロードされていなかった場合) でも、統計の集約またはロールアップを行うかどうかを示します。 オプティマイザーは集約された統計を使用して、最適なアクセス・パスを選択します。
YES
一部のパーティションにデータが存在しない場合でも、 集約またはロールアップ処理を強制的に行うことを示します。
NO
すべてのパーティションでデータが使用可能な場合に限り、 集約またはロールアップを行うことを示します。
すべてのパーティションにデータがない場合、 パネル DSNTIP6 の STATISTICS ROLLUP のインストール値が NO に設定されている と、DSNU623I メッセージが出されます。
KEEPDICTIONARY
LOAD ユーティリティーに新しいコンプレッション・ディクショナリーを作成させないようにし ます。 LOAD は、現行のコンプレッション・ディクショナリーを保存しており、それを入力データの圧縮に使用します。 このオプションによって、新しいディクショナリーの作成に関連したコストが削減されます。

XML 表スペースに関しては KEEPDICTIONARY キーワードは無視されます。 REPLACE が 指定されている場合、XML 表スペースまたはパーティションの既存のディクショナリーはすべて 削除されます。 REPLACE が指定されていない場合、XML 表スペースまたはパーティションの既存のディクショナリーはすべて 保管されます。

表スペースを基本行フォーマットから再配列行フォーマットに変更する REORG または LOAD REPLACE の実行中に、DB2 は KEEPDICTIONARY オプションを無視します。

変更の開始このキーワードは、ロードされている表スペースが圧縮で定義されている場合にのみ有効です。変更の終わり

表スペースまたはパーティションが空 の場合、DB2 は以下のいずれかのアクションを実行します。

  • コンプレッション・ディクショナリーが存在しない場合は、表スペースが SIMPLE 表スペースでない場合に限り、DB2 は ディクショナリーを作成します。
  • コンプレッション・ディクショナリーが存在する場合、DB2 はその ディクショナリーを保持します。

表スペースまたはパーティションが空でないときに RESUME NO および REPLACE が指定された場合、 DB2 は、 表スペースまたはパーティションが空のときと同じアクションを実行します。

表スペースまたはパーティションが空でなく、かつ RESUME YES が指定 されている場合、DB2 は以下のいずれかのアクションを 実行します。

  • コンプレッション・ディクショナリーが存在しない場合、DB2 はディクショナリーを作成しません。
  • コンプレッション・ディクショナリーが存在する場合、DB2 はその ディクショナリーを保持します。
注: 圧縮辞書を維持するには、KEEPDICTIONARY を使用する必要があります。
REUSE
(REPLACE と併用する場合)LOAD が論理的にリセットされ、再利用されることを指定します。 Db2 -削除や再定義を行わずに管理データセットを論理的にリセットし、再利用する REUSEを指定しない場合、 Db2 削除および再定義を行い、 Db2 -管理データセットを削除して再定義し、リセットします。

すべてのデータ・セットの論理リセットを行うためには、REUSE は REPLACE と共に指定する必要があります。 ただし、表スペースについて REUSE を指定し、パーティション・レベルでのみ REPLACE を指定した場合は、 置き換えられたパーティションのみが論理的にリセットされます。

データ・セットに複数のエクステントがある場合、REUSE パラメーターを指定すると、 そのエクステントは解放されません。

LOG
LOAD SHRLEVEL NONE および LOAD RESUME YES の SHRLEVEL CHANGE 実行について、ロード・プロセスの RELOAD フェーズ中にロギングを実行するかどうかを示します。 LOAD RESUME YES SHRLEVEL REFERENCE の場合は、 LOAD REPLACE SHRLEVEL REFERENCEの場合、 LOG NO は常に適用されます。
YES
ロード・プロセス中の通常のロギングを指定します。 ロードされるレコードはすべてログに記録されます。 テーブルスペースにNOT LOGGED属性がある場合、 Db2 ログなしでロードします。
NO
ロード・プロセス中にデータをロギングしないことを指定し ます。 表スペースが LOGGED 属性を持っている場合、NO オプションは、 ロードされる表がある表スペースまたはパーティションに対して COPY ペンディング制限を 設定します。 この制限が取り除かれるまでは、 表スペース内の表またはパーティションはどれも SQL によって更新できません。 制限を解除する方法については、「COPY-pendingステータスのリセット 」を参照してください。

ロードされるのがパーティション化表スペースの単一のパーティションであり、その表スペースが副次索引を 持っている場合は、DB2 が索引構造に対する何らかの変更をログに記録すると、ビルドのフェーズ でロギングが発生することがあります。 このロギングによって、異常終了が発生した場合の副次索引のリカバリーが可能となり、 さらに、並行性も可能になります。

Db2 NOT LOGGEDとして作成されたテーブルスペースを、LOG NOを指定したかのように扱います。 COPYDDN を指定せずに LOG NO を指定すると、基本表スペースはコピー・ペンディング状況になります。 XML 列がヌル可能で、ロードされない場合、 基本表スペースは COPY ペンディング状況になります。

LOB 表スペースは、LOG YES で定義されているか LOG NO で定義されているかに関係なく、 DB2 が LOB 列をロードする間の ロギングに影響を及ぼします。

NOCOPYPEND
LOG NO が指定されていても LOAD は表スペースを COPY ペンディング 状況に設定しないことを指定します。 NOCOPYPEND の指定によって、索引の通知コピー・ペンディング (ICOPY) 状況 がオンになったり、変更されることはありません。 NOCOPYPEND を指定しても、LOAD 以前に設定されて いたコピー・ペンディング状況はオフにはなりません。 他にエラーまたは警告が存在しない場合は、LOAD LOG NO NOCOPYPEND ジョブが正常に完了すると、 コード 0 が戻されます。

Db2 LOAD時にローカルサイトでインライン画像のコピーを作成するためにCOPYDDNも指定している場合、NOCOPYPENDの指定は無視されます。 表スペースに NOT LOGGED 属性が指定されている場合、 NOCOPYPEND は無視されます。

注意: テーブルスペースのデータが失われた場合に、別のLOADジョブで簡単に再作成できる場合のみ、NOCOPYPENDオプションを指定してください。 LOAD の後に続けてイメージ・コピーを作成しない 場合、RECOVER ユーティリティーを使用して表スペースをリカバリーすることはできず、 データを失うことになります。
WORKDDN ( ddname1,ddname2 )
ソート入力およびソート出力用の一時作業ファイルの ための DD ステートメントを指定します。 LOAD が索引付きの表に関係している場合は、 ソート入出力用の一時作業ファイルが必要です。

ddname1 は、ソート入力用の一時作業ファイルの DD 名です。 デフォルト値は SYSUT1 です。

ddname2 は、ソート出力用の一時作業ファイルの DD 名です。 デフォルト値は SORTOUT です。

WORKDDN キーワードには、DD 名または前の TEMPLATE 制御ステートメントにある TEMPLATE 名指定のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。 テンプレートの仕様についての詳細は、TEMPLATE を参照してください。

SORTKEYS
RELOAD および SORTBLD フェーズ中に索引キーを並行してソートし、パフォーマンスを向上させることを指定します。 このアクションは、 LOAD が少なくとも 2 つ以上の索引が作成され、 SORTKEYS NO が指定されていない場合に、入力ファイル・サイズを見積もることができる場合のデフォルトの動作です。
整数
integer は、ソートされる索引キーの個数の 見積もりを指定します。 integer は、0 から 562 949 953 421 311 の間の正整数である必要があります。
いいえ
デフォルトの SORTKEYS 動作がオフにされることを示します。

ディスク上の順次データ・セットの場合、 LOAD は、 SORTKEYS と NUMRECS n のどちらも指定されていない場合に、 SORTKEYS 処理の入力データ・セット・サイズに基づいて処理されるレコードの数を計算しようとします。 SORTKEYS n または NUMRECS n が指定されている場合、 LOAD は、処理されるレコードの見積もり数として提供された値を使用します。

同じ LOAD ステートメントで、表レベルで NUMRECS キーワードを指定する場合、SORTKEYS キーワードで整数値を指定することはできません。 並列ソートをオフにするには、NUMRECS キーワード指定時に SORTKEYS NO を指定します。

変更の開始SORTKEYS を指定すると、 LOAD は、ソートされるデータまたはキーの量を見積もることができるときに、並列索引作成を実行しようとします。 単一の索引ケースの場合、 LOAD は、索引ソートを並行して実行して処理を再ロードすることにより、キーのパイピングを試みます。 変更の終わり

変更の開始SORTKEYS が指定されておらず、 LOAD が NUMRECS の指定に基づいて有効な見積もりを判別できない場合、その後で、単一索引の場合、 LOAD は並列索引作成またはキー・パイピングを使用しませんが、索引キーを処理するために別の SORT フェーズと BUILD フェーズに依存します。 変更の終わり

FORMAT
入力レコードの形式を示します。 FORMAT UNLOAD、FORMAT INTERNAL、またはFORMAT SQL/DS を使用する場合、入力のフォーマットは一意に決定され、INTO TABLEオプションではフィールド指定は許可されません。
FORMAT を省略すると、入力データの形式はフィールド仕様の規則によって決定されます。FORMAT DELIMITED を指定すると、入力データの形式は 「区切りファイル形式」 で説明されている規則によって決定されます。
UNLOAD
入力レコード形式がアンロード形式と互換性があることを指定します。 Db2 アンロード形式と互換性があることを ( Db2 アンロード形式は、REORGにUNLOAD ONLYオプションを指定した結果です。)

INTO TABLE オプションでそれぞれの表を指定している場合、REORG ユーティリティーによって アンロードされた入力レコードは、そのレコードがアンロードされた元の表にロードされ ます。 REORG UNLOAD ONLY の実行時点と LOAD FORMAT UNLOAD の実行時点の間で、表の 列を追加したり、列の定義を変更しないでください。

LOAD FORMAT UNLOAD ステートメントにある WHEN 文節はすべて無視 されます。DB2 は、 レコードを、それらがアンロードされた元の同じ表に再ロードします。 FORMAT UNLOAD 文節では WHEN 文節が認められないため、入力レコードは必ず該当する 表にロードされます。 ロードできない入力レコードは廃棄されます。

入力データ・セットの DD ステートメントで DCB RECFM パラメーターが指定され、 しかもそのデータ・セットの形式が REORG UNLOAD (ONLY) 操作以後に変更されていない場合、 レコード形式は可変 (RECFM=V) でなければなりません。

SQL/DS
入力レコード形式が SQL/DS アンロード形式と互換性があることを指定します。 ロードするテーブルのカラムのデータタイプは、 SQL/DS テーブルの対応するカラムのデータタイプと同じでなければなりません。

SQL/DS の入力に複数のテーブルの行が含まれている場合、INTO TABLEオプションのWHEN句は、どの入力レコードをどのテーブルにロードするかを示します。 Db2 テーブルに読み込まれるかを示します。

LOADは、 SQL/DS 制限より長い文字列を読み込むことができません。 Db2

SQL/DS ディスクにアンロードされたデータは、 DB2® Server for VSE & VM、VBS形式のレコードフォーマットを持つ、 z/OS タイプのデータセットにシミュレートされています。 データを別のシステムに転送し、テーブルに読み込む場合は、この形式を考慮してください。 Db2 (例えば、 DB2 Server for VSE & VM。 FILEDEFは、それを z/OS 型のデータセットとして定義する必要があります。 標準の CMS ファイルとしてデータセットを処理すると、レコード内の SQL/DS レコードタイプフィールドが誤ったオフセットに配置されます。LOADは、それらを有効な SQL/DS 入力として認識できません。

INTERNAL
入力レコードのフォーマットが内部フォーマットであることを指定します。 Db2 内部フォーマットであることを指定します。 DB2 内部形式は、FORMAT INTERNAL オプションを指定して UNLOAD を実行することで作成される形式です。
注意: 変更の開始FORMAT INTERNAL は、すべてのデータ有効性チェックをバイパスするパフォーマンスオプションです。 誤った使用は、データオーバーレイや Db2 異常終了などの これらの問題は、 LOAD 処理中、またはロード後にターゲット表がアクセスされた場合に発生することがあります変更の終わり
FORMAT INTERNAL が指定されている場合
  • LOAD は、LOAD 制御ステートメント内のフィールド仕様を無視します。
  • LOAD はデータ変換を行いません。
制約事項:
  • 変更の開始入力データがアンロードされた表の定義は、データが正確にロードされる表の定義と一致していなければなりません。 データがロードされる表の列にフィールド・プロシージャーが含まれている場合、そのデータがアンロードされた表の対応する列にも、そのフィールド・プロシージャーが必要です。変更の終わり
  • 入力データは、解凍された形式でなければなりません。
  • FORMAT INTERNAL の指定時に LOAD が一度にロードできる表は 1 つだけです。
  • FORMAT INTERNAL の指定時に LOAD は LOB 列や XML 列にデータを追加しません。 LOAD は通知 CHECK ペンディング状況の基本表スペースを挿入します。
  • FORMAT INTERNAL は、以下のいずれかのオプションと一緒に指定できません。
    • ASCII
    • CCSID
    • CONTINUEIF
    • DECFLOAT_ROUNDMODE
    • EBCDIC
    • FLOAT
    • OVERRIDE(IDENTITY)
    • IGNOREFIELDS
    • INCURSOR
    • NOSUBS
    • SHRLEVEL CHANGE
    • ユニコード
    • WHEN
DELIMITED
入力データ・ファイルが区切り文字で区切られた形式であることを指定します。 データが区切り文字で区切られた形式の場合は、入力データ・セットのすべてのフィールドは、 文字ストリングまたは外部数値です。 さらに、区切り文字で区切られたファイルのそれぞれの列は、列区切り文字によって 次の列と分離されています。

指定できるそれぞれの区切り文字タイプについて、区切り文字がソース・データのコード・ページで 指定されていることを確認する必要があります。 区切り文字は、文字定数または 16 進定数のいずれかで指定できます。 例えば、「#」を区切り文字として指定するには、COLDEL '#' または COLDEL X'23' のいずれかを指定できます。 ユーティリティー・ステートメントが、入力ファイルとは異なる文字タイプでコーディングされている 場合 (例えば、ユーティリティー・ステートメントが EBCDIC でコーディングされていて、入力データはユニコードであるなど)、 ユーティリティー・ステートメント中の区切り文字を 16 進定数として指定する 必要があります。そのようにしないと、予測できない結果になる恐れがあります。

複数の区切り文字のタイプ (COLDEL、CHARDEL、および DECPT) に対して、同じ文字を 指定することはできません。 入力データに外部の日付、時刻、タイムスタンプ形式が含まれる場合、区切り文字として、デリミタとして使用されているのと同じ文字を使用することはできません。 区切り文字の制限に関する詳細は、「区切り文字付きファイルの読み込み 」を参照してください。

FORMAT DELIMITED に対するユニコード入力データは、UTF-8、CCSID 1208 でなければなりません。

FORMAT DELIMITED オプションを指定する場合は、以下のオプションはいずれも使用できません。

  • CONTINUEIF
  • INCURSOR
  • 複数の INTO TABLE ステートメント
  • WHEN
  • 変更の開始フィールド指定内の CCSID変更の終わり

また、LOAD は、LOAD ユーティリティー制御ステートメント内で POSITION ステートメントが指定 されている場合は、いずれも無視します。

区切り付き出力および区切り文字の制限の使用に関する詳細は、「区切り付きファイルの読み込み」 を参照してください。 区切り付きファイルの詳細については、 区切り付きファイル形式をご覧ください。

COLDEL coldel
入力ファイルで使用する列の区切り文字を指定します。 デフォルト 値はコンマ (,)です。 ほとんどの ASCII および UTF-8 データの場合、この値は X'2C'であり、ほとんどの EBCDIC データの場合、この値は X'6B'になります。
CHARDEL シャルデル
入力ファイル内で使用される文字ストリング区切り文字を指定します。 デフォルト 値は二重引用符 () です。 ほとんどの ASCII データおよび UTF-8 データの場合、この値は X'22'であり、ほとんどの EBCDIC データの場合、この値は X'7F'です。

文字ストリング区切り文字を含む文字ストリングを区切るには、文字ストリング中でそれが 使用されているところで、文字ストリング区切り文字を繰り返します。 LOAD は、区切り文字で 囲まれている間で検出された区切り文字のペアは、単一の文字と解釈します。 例えば、句 “what a ““nice warm”” day”what a “nice warm” day として解釈されます。 LOAD ユーティリティー は、CHAR、VARCHAR、CLOB のフィールドでのみ、これらの区切り文字の ペアを認識します。

文字ストリング区切り文字は、ストリングに CHARDEL 文字が含まれている場合のみ、必要となります。 ただし、他の文字ストリングを囲む文字ストリング区切り文字が入っていても構いま せん。 UNLOAD ユーティリティーによって区切り文字で区切られた形式でアンロードされた データには、すべての文字ストリングを囲む文字ストリング区切り文字が組み込まれます。

DECPTdecpt
入力ファイルで使用する小数点文字を指定します。 デフォルト 値はピリオド (.) です。 ほとんどの ASCII データおよび UTF-8 データの場合、この値は X'2E'であり、ほとんどの EBCDIC データの場合、この値は X'4B'です。
注: アプリケーションデフォルトロードモジュール(デフォルトのDSNHDECP、またはユーザー指定のアプリケーションデフォルトロードモジュール)を使用する場合は、指定の10進値が入力データで使用されている10進値と同じであることを確認してください。 入力データで使用される 10 進数値と一致するように 10 進数値を指定する必要があります。
SPANNED
レコードを VBS データ・セットからスパン・レコード・フォーマットでロードするかどうかを指定します。
YES
LOAD ユーティリティーでスパン・レコードからデータをロードすることを指定します。

入力データ・セットはスパン・レコード・フォーマットである必要があり、すべての LOB データおよび XML データが、レコードの最後にある必要があります。

レコードの最後にすべての LOB フィールドおよび XML フィールドがあるフィールド仕様リストを提供する必要があります。 LOB 列および XML 列では、POSITION(*) を指定してください。

FORMAT SPANNED YES を指定する場合、WHEN 節の field-selection-criterion 内の LOB データや XML データを参照しないでください。

INCURSOR オプションを SPANNED YES と一緒に指定することはできません。

FORMAT SPANNED YES を指定すると、LOAD ユーティリティーは並列処理を使用しません。

NO
LOAD ユーティリティーで、スパン・レコード・フォーマットのデータをロードしないことを指定します。
FLOAT
指定された形式の浮動小数点を LOAD が想定することを指定します。
(S390)
LOADが浮動小数点数は System/390® 16進浮動小数点数(HFP)形式で提供されることを期待していることを指定します。 ( S390 ) は、 Db2 浮動小数点数を格納する これは、 FLOAT キーワードが明示的に指定されていない場合のデフォルト値でもあります。
(IEEE)
LOAD が想定する浮動小数点数の形式が IEEE 2 進浮動小数点 (BFP) 形式で あることを指定します。

FLOAT(IEEE)を指定すると、 Db2 BFP データを HFP 形式に変換し、テーブルにロードします。 Db2 テーブルにロードされる際に BFPからHFPへの変換中に変換エラーが発生した場合、 Db2 BFP から HFP への変換中に変換エラーが発生した場合、 Db2 レコードを破棄ファイルに配置します。

FLOAT(IEEE) は、FORMAT キーワードのいずれの指定とも、同時に使用することはできません。 FLOAT(IEEE)とFORMATの両方を指定した場合、 Db2 メッセージ DSNU070I が表示されます。

BFP 形式は、IEEE 浮動小数点と呼ばれることもあります。

EBCDIC
入力データ・ファイルが EBCDIC であることを指定します。 デフォルトは EBCDIC です。
ASCII
入力データ・ファイルが ASCII であることを指定します。 数値、日付、時刻、 およびタイム・スタンプの内部形式が ASCII オプションによって影響を受け ることはありません。
UNICODE
入力データ・ファイルがユニコードであることを指定します。 UNICODE オプションが、数値の内部フォーマットに影響を及ぼすことはありません。
CCSID
入力ファイルに対する最大 3 つのコード化文字セット ID (CCSID) を指定し ます。 1 番目の値は入力ファイルで検出された SBCS データに対する CCSID の指定、2 番目の値は 混合 DBCS データに対する CCSID の指定、3 番目の値は DBCS に対する CCSID の指定です。 これらの値のいずれかが省略されるか、あるいは 0 と指定された場合は、入力ファイルでの 対応するデータ・タイプの CCSID は、インストール・システムのデフォルトの CCSID と 同じであると見なされます。 つまり、入力データが EBCDIC の場合は、省略された CCSID はインストール・システムで 指定された EBCDIC CCSID と見なされ、入力データが ASCII の場合は、省略された CCSID は インストール・システムで指定された ASCII CCSID と見なされます。 入力データ・ファイルの CCSID が、ロードされる表の CCSID と一致しない場合は、 入力データは、ロードされる前に、表 CCSID に変換されます。

integer は、有効な CCSID 指定です。

入力データがユニコードの場合、CCSID はデフォルトでシステムのインストール時に 指定されたユニコード CCSID となります。

NOSUBS
LOAD がストリング中の置換文字を受け入れないことを指定します。

ストリングが ASCII から EBCDIC に変換される場合、または ある CCSID が別の CCSID に変換される場合に、置換文字をストリングに入れます。 例えば、ソース CCSID (コード・ページ) に存在する文字 (コード・ポイントと 呼ばれることもある) がターゲット CCSID (コード・ページ) に存在しない 場合に、この置換が起こります。

NOSUBS オプションを指定した場合、LOAD ユーティリティーは、変換の結果 置換文字がストリングに入れられたと判断すると、次のいずれかのアクションを実行します。

  • 破棄処理が有効の場合Db2 メッセージ DSNU310I を発行し、レコードを破棄ファイルに配置します。
  • 破棄処理が有効でない場合Db2 メッセージ DSNU334I を表示し、ユーティリティが異常終了します。
ENFORCE
LOAD がチェック制約および参照制約を実施するかどうかを指定します。 ただし、通知参照制約は実施されないため、これは除きます。
CONSTRAINTS
制約を実施することを指示します。 LOAD は違反を検出すると、エラーの行を削除し、 それを示すメッセージを出します。 このオプションを指定し、しかも参照制約 が存在する場合は、ソート入力およびソート出力のデータ・セットを定義しておく必要があります。

変更の開始SHRLEVEL REFERENCEを指定して ENFORCE CONSTRAINTS を指定することはできません。変更の終わり

NO
制約を実施しないことを指示します。 このオプションは、その表に対して少なくとも 1 つ の参照制約またはチェック制約が定義されている場合に、ターゲット表スペースを CHECK ペンディング状況にします。
変更の開始NOCHECKPEND変更の終わり
変更の開始ターゲット表に対して少なくとも 1 つの参照制約またはチェック制約が定義されている場合には、LOAD はターゲット表スペースを CHECK ペンディング状況に設定しないことを指定します。 このオプションは、ENFORCE NO が指定されているか、LOAD ユーティリティーによって ENFORCE NO が強制された場合にのみ適用されます。 NOCHECKPEND を指定しても、この LOAD 以前に設定されていた CHECK ペンディング状況は除去されません。変更の終わり
ERRDDN ddname
エラー処理で使用される作業データ・セットの DD ステートメントを指定します。 処理中に検出されたエラーの情報は、このデータ・セットに保管されます。 廃棄処理を要求した場合は、SYSERR データ・セットが必要です。

ddname は DD 名です。

デフォルト値は SYSERRです。

ERRDDN キーワードには、DD 名または前の TEMPLATE 制御ステートメントにある TEMPLATE 名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。 テンプレートの仕様についての詳細は、TEMPLATE を参照してください。

MAPDDN ddname
エラー処理で使用される作業データ・セットの DD ステートメントを指定します。 この作業データ・セットは、表の行の ID をエラーの原因となった入力レコードに関連付けるために使用され ます。 ENFORCE CONSTRAINTS が指定されていて、表が参照関係を持っている場合、または、 ユニーク索引または拡張された索引を含む 1 つ以上の表のロード中の廃棄処理を 要求する場合、SYSMAP データ・セットが必要です。

ddname は DD 名です。

デフォルト値は SYSMAP です。

MAPDDN キーワードには、DD 名または前の TEMPLATE 制御ステートメントにある TEMPLATE 名のいずれかを指定します。 ユーティリティー処理で、指定された名前が現行ジョブ・ステップの DD 名と TEMPLATE 名の両方であることが検出された場合、ユーティリティーは DD 名を使用し ます。 テンプレートの仕様についての詳細は、TEMPLATE を参照してください。

DISCARDDN ddname
ロードされていないレコードのコピーを保持する ( 例えば、変換エラーがある場合など ) 、廃棄データ・セットの DD 名またはテンプレート名を指定します。 また、廃棄データ・セットには、ロードされてから除去されたレコードのコピーが保持されます ( ユニーク索引エラー、参照制約違反、またはチェック制約違反、または索引評価エラーのため ) 。 RELOAD、INDEXVAL、および ENFORCE フェーズの際に、入力レコードに廃棄のフラグを立てます。 ただし、廃棄データ・セットへの書き込みは、フラグが立てられたレコードが入力データ・セットから 廃棄データ・セットへコピーされる DISCARD フェーズまで行われません。 廃棄データ・セットは、レコード形式、レコード長、およびブロック・サイズが 入力データ・セットと同じで、BSAM が書き込める順次データ・セットでなければなりません。

ddname は DD 名です。

デフォルト値は SYSDISC です。

DISCARDDN オプションを省略すると、ユーティリティー・アプリケーション・プログラムが 廃棄レコードを保管するのは JCL 入力の中に SYSDISC DD ステートメントが入っている場合 のみとなります。

BatchPipes® ファイルをLOADへの入力として使用し、TEMPLATE SUBSYSにINDDN名を使用する場合、DISCARDDNキーワードはサポートされません。

DISCARDS 整数
DISCARD データ・セットに書き込まれるソース・レコードの最大数を指定します。 integer の範囲は、0 から 2147483647 までです。 廃棄の最大数に達すると、LOAD は異常終了し、 廃棄データ・セットは空となり、どのレコードが廃棄されたのかは判別できなくなります。 限界値を大きくしてジョブを再始動するか、もしくはユーティリティーを終了させ てください。

DISCARDS 0 は、最大値を設定しないことを指定します。 これによって、入力データ・セット全体を廃棄することができます。

デフォルト値は 0です。

LOADタスクの並列処理変更の開始破棄最大値が指定されている場合、その制限はターゲットシステム上で実行されている各LOADタスクに個別に適用されます。変更の終わり
SORTDEVT デバイス型
外部ソート・プログラムによって動的に割り振られる一時データ・セットの装置タイプを指定します。 ソート・プログラムの SORT または OPTION オプションの DYNALLOC パラメーターで受け入れ可能なディスク装置タイプであれば、任意のタイプを指定できます。 テープ装置はソート・プログラムによってサポートされていません。

SORTDEVT を省略した場合で、ソートが必要な場合は、 ソート・アプリケーション・プログラムが一時データ・セット用に必要とする DD ステートメントを指定しなければなりません。

TEMPLATE 指定では、ソート作業データ・セットの動的割り振りは行われま せん。 SORTDEVT キーワードが、これらのデータ・セットの動的割り振りを制御します。

SORTNUM 整数
ソート・アプリケーション・プログラムによって動的に割り振られる一時データ・セットの 数を指定します。

integer は一時データ・セット数で、可能な 範囲は 2 から 255 です。

SORTDEVT を省略した場合、SORTNUM は無視され ます。 SORTDEVT を使用し、SORTNUM を省略した場合、ソート・プログラムへ値は渡されません。 この場合は、ソート・プログラムはそれ自体のデフォルトを使用します。

各ソートごとに最低 2 つのソート用作業データ・セットが必要です。 SORTNUM 値は、このユーティリティー内の各ソート呼び出しに適用されます。 例えば、3 つの 索引があり、SORTKEYS が指定されていて、並列処理を制限する制約が何も なく、SORTNUM が 8 と指定されている場合、合計で 24 個のソート作業データ・セット がジョブに割り振られます。

各ソート作業データ・セットは 16 MB 境界より上と 下の両方の仮想ストレージを使用するので、SORTNUM に指定する値が大きすぎると、 このユーティリティーは仮想ストレージ制約のために並列処理の度合いを減らすことがあり、 場合によっては、並列処理なしを意味する 1 にまで減らすこともあります。

重要変更の開始IGNSORTNサブシステムパラメータがYESに設定されている場合、SORTNUMキーワードは無視されます。変更の終わり
CONTINUEIF
それぞれの入力レコードをより大きなレコードの一部として扱えるようにすることを示し ます。 CONTINUEIF の後に、次のいずれかの形式で条件を指定します。
(start:end) = X'byte-string'
(start:end) = 'character-string'

この条件が当てはまるレコードがあると、 ロードが行われる前に、次のレコードがそのレコードに連結されます。 任意の数のレコードを連結して、最大 32767 バイトまでの、より大きなレコードを作成することができます。

文字ストリング定数は、入力 データ・レコードに一致する文字セットで、LOAD ユーティリティー制御ステートメントに指定される必要があります。 データが EBCDIC の場合は LOAD 制御ステートメントに EBCDIC 定数を 指定し、データが UNICODE の場合は UNICODE 定数を指定してください。 16 進形式を 使用して CONTINUEIF 条件をコーディングすることもできます。 例えば、(1:1)='1' ではなく、(1:1)=X'31' を使用します。
(開始:終了
入力レコードの列番号を指定します。レコードの最初の桁は 1 桁目になります。 2 つの番号は、入力レコード内の継続フィールドの開始桁と終了桁に指示します。

他のフィールド位置指定 (WHEN、POSITION、または NULLIF の場合の位置指定など) では、 入力レコード内ではなく、最後にアセンブルされたロード・レコード内のフィールド位置を指しています。

継続フィールドは入力レコードから除去され、最後のロード・レコードの一部ではなくなります。

:end が省略されている場合、DB2 は、 継続フィールドの長さはバイト・ストリングまたは文字ストリングの長さであると見なします。 :end が使用されていて、 その結果の継続フィールドの長さがバイト・ストリングまたは 文字ストリングの長さと等しくない場合は、短い方のストリングが埋め込まれます。 文字ストリングにはブランクが埋め込まれます。 16 進数ストリングにはゼロが埋め込まれます。

X'バイト文字列 '
16 進文字のストリングを指定します。 継続フィールド内のこのバイト・ストリング は、次の入力レコードが現行のロード・レコードの続きであることを示します。 継続フィールド内の値が変わるまでは、このバイト・ストリングの値を持つレコードが連結されます。 例えば、 次の CONTINUEIF 指定では、72 桁目に値 X'FF' が入っている入力レコードがあれば、LOAD はそのレコードを次の入力レコード と連結します。
CONTINUEIF (72) = X'FF'
文字列
X'byte-string' と同じ効果を持つ文字ストリングを指定します。 例えば、次の CONTINUEIF 指定では、99 桁目と 100 桁目にストリング CC を持つ入力レコード があれば、LOAD はそのレコードを次の入力レコードと連結します。
CONTINUEIF (99:100) = 'CC'
IGNORE
指定された理由で LOAD ユーティリティーが拒否したレコードを、LOAD ユーティリティーで無視することを指定します。 廃棄が指定されている場合、無視された行はロードされず、 DISCARD データ・セットにも書き込まれません。 廃棄が指定されていない場合、無視されたレコードが原因で LOAD ユーティリティーが終了することはありません。

ユーティリティー出力内のレコード・カウント・メッセージを使用して、無視されたレコードの数を判別します。

WHEN
WHEN 文節を満たさないレコードを無視することを指定します。
変更の開始PART変更の終わり
変更の開始ロードされるパーティションを満たさないレコードを無視することを指定します。変更の終わり
変更の開始CONV変更の終わり
変更の開始変換エラーの原因となったレコードを無視することを指定します。変更の終わり
変更の開始VALPROC変更の終わり
変更の開始検証プロシージャーに失敗したレコードを無視することを指定します。変更の終わり
変更の開始IDERROR変更の終わり
変更の開始範囲外の ID 列値を持つレコードを無視することを指定します。変更の終わり
変更の開始DUPKEY変更の終わり
変更の開始重複キー・エラーの原因となったレコードを無視することを指定します。変更の終わり

ユーティリティー出力内のレコード・カウント・メッセージを使用して、無視されたレコードの数を判別します。

DECFLOAT_ROUNDMODE
DECFLOAT が操作されるときに使用される丸めモードを指定します。 以下の丸めモードがサポートされています。
ROUND_CEILING
正の無限大方向に丸めます。 破棄される桁は、すべてゼロであるか、符号が負である場合は除去 されます。 それ以外の場合、結果の係数は 1 だけ増大する (切り上げられる) はずです。
ROUND_DOWN
0 の方向へ丸めます (切り捨て)。 破棄された数字は無視されます。
ROUND_FLOOR
負の無限大に丸めます。 破棄される桁は、すべてゼロであるか、正である場合は除去 されます。 それ以外の場合、符号は負になり、結果の係数は 1 だけ増大する (切り上げられる) はずです。
ROUND_HALF_DOWN
最も近い値に丸めます。 等距離の場合、切り捨てます。 破棄される桁が 0.5 より大きい場合、結果係数は 1 だけ増やされます (切り上げ)。 破棄される桁は 0.5 以下の場合は無視されます。
ROUND_HALF_EVEN
最も近い値に丸めます。 等距離である場合は、最後の数字が偶数になるように 丸めます。 破棄される桁が .05 より大きい場合、結果係数は 1 だけ増やされます (切り上げ)。 破棄される桁は 0.5 より小さい場合は無視されます。 結果係数が .05 で、右端の数字が偶数である 場合、結果係数は変わりません。 結果係数が .05 で、右端の数字が 奇数である場合、結果係数は 1 だけ増やされます (切り上げ)。
ROUND_HALF_UP
最も近い値に丸めます。 等距離の場合、切り上げます。 破棄される桁が 0.5 以上の場合、結果係数は 1 だけ 増やされます (切り上げ)。 それ以外の場合、破棄された数字は無視されます。
ROUND_UP
0 から丸めます。 破棄されたすべての桁が 0 の場合、結果は変更されません。 それ以外の場合、結果の係数は 1 だけ増大する (切り上げられる) はずです。

DECFLOAT_ROUNDMODE を指定しない場合、LOAD ステートメントでは、アプリケーション・デフォルト・ロード・モジュールの DFPDEFDM 値がデフォルト値として使用されます。 アプリケーション・デフォルト・ロード・モジュールは、デフォルトの DSNHDECP、またはユーザー指定のアプリケーション・デフォルト・ロード・モジュールです。

OVERRIDE
指定したタイプの GENERATED ALWAYS 列に、アンロードしたデータを再ロードすることを許可します。
SYSTEMPERIOD
アンロードしたデータを GENERATED ALWAYS の行開始列または行終了列に再ロードすることを許可します。 行開始列および行終了列はシステム期間の定義に使用するためのものですが、SYSTEMPERIOD キーワードを指定する場合、その期間が存在している必要がありません。

LOAD ステートメントに OVERRIDE(SYSTEMPERIOD) を指定し、入力フィールド仕様を含める場合は、システム期間の定義に使用できるように行開始列と行終了列の両方を指定する必要があります。 これらの列の指定に NULLIF オプションと DEFAULTIF オプションを指定することはできません。

IDENTITY
アンロードしたデータを GENERATED ALWAYS の ID 列に再ロードすることを許可します。

LOAD ステートメントに OVERRIDE(IDENTITY) を指定し、入力フィールド仕様を含める場合は、ID 列を指定する必要があります。 この列の指定に NULLIF オプションと DEFAULTIF オプションを指定することはできません。

OVERRIDE(IDENTITY) は、INTO TABLE PART 節を付けて LOAD を実行し、生成される ID 列がパーティション索引の一部になる場合に指定してください。 (生成される ID 列は、GENERATED ALWAYS または GENERATED BY DEFAULT として定義できます。)

LOAD が ID 列の MAXASSIGNEDVAL を更新する方法については、「 LOAD の実行による影響 」を参照してください。

TRANSID
アンロードしたデータを、トランザクション開始 ID 列として定義した GENERATED ALWAYS 列に再ロードすることを許可します。
NONDETERMINISTIC
アンロードしたデータを、非 deterministic 式によって定義された GENERATED ALWAYS 列に再ロードすることを許可します。
変更の開始ROWCHANGE変更の終わり
変更の開始GENERATED ALWAYSとして定義されている行変更タイム・スタンプ列にデータをロードできるようにします。

以前にアンロードされたデータを含む表をロードするときに、そのデータ内のタイム・スタンプを保持したい場合は、 OVERRIDE(ROWCHANGE) を指定します。

制限事項 :以下のオプションではROWCHANGEを指定できません
  • NULLIF
  • DEFAULTIF
  • FORMAT INTERNAL
変更の終わり
変更の開始DRAIN_WAIT 整数変更の終わり
変更の開始表スペースまたは索引をドレーンする際のユーティリティーの待ち時間を秒数で指定します。 指定される時間は、再編成されるオブジェクトについて集約した時間です。 この値は、IRLMRWT および UTIMOUT サブシステム・パラメーターによって指定された値をオーバーライドします。 integer の有効な値は、0 から 1800 までです。 このキーワードが省略されているか、値 0 が指定されている場合、このユーティリティーは、IRLMRWT サブシステム・パラメーターの値を使用します。変更の終わり
変更の開始RETRY 整数変更の終わり
変更の開始LOAD がドレーンを試行する再試行の最大数を指定します。 integer は値 0 から 255 です。

デフォルト値は、UTIMOUT サブシステム・パラメーターの値です。

変更の終わり
変更の開始RETRY_DELAY 整数変更の終わり
変更の開始再試行と再試行の間の最小所要時間を秒数で指定し ます。 integer は値 1 から 1800 です。
RETRY_DELAY が指定されていない場合、LOAD は以下の 2 つの値の小さい方を使用します。
  • DRAIN_WAIT value × RETRY value
  • DRAIN_WAIT value × 10
変更の終わり
変更の開始SWITCHTIME変更の終わり
変更の開始SWITCH フェーズのすべてのドレーンを開始する時刻を指定します。 SWITCHTIME の最終結果とすべてのタイム・スタンプ計算が TIMESTAMP(6) に含められます。 このキーワードには、SHRLEVEL REFERENCE が必要です。 指定される場合、LOAD は SWITCH フェーズの先頭に置かれ、指定された SWITCHTIME に達するまではアプリケーション・アクセスの静止を試行しません。
NONE
SWITCH フェーズでドレーンを開始する時刻を指定しません。 このオプションがデフォルトの動作です。
タイムスタンプ
SWITCH フェーズでドレーンを開始する時刻を指定します。 この時刻は、LOAD の実行時にはまだ到達していない時刻でなければなりません。
labeled-duration-expression
SWITCH フェーズでドレーンを開始する時刻を計算します。 計算は、CURRENT TIMESTAMP もしくは CURRENT DATE に基づいて行われます。 1 つ以上の定数の値を加えるか、引いて、切り替え時刻を指定することができます。 この切り替え時刻は、LOAD の実行時にはまだ到達していない時刻でなければなりません。 CURRENT TIMESTAMP および CURRENT DATE は、LOAD ステートメントが初めて処理される時に、1 回だけ評価されます。 オブジェクトのリストが指定された場合は、リスト内のすべてのオブジェクトに同じ値が適用されます。
CURRENT_DATE
CURRENT DATE を基にして期限を計算することを指定します。
CURRENT_TIMESTAMP
CURRENT TIMESTAMP を基にして期限を計算することを指定します。
変更の開始WITH TIME ZONE変更の終わり
CURRENT TIMESTAMP をタイム・ゾーン列と比較することを指定します。 特殊レジスター CURRENT TIMESTAMP のタイム・スタンプ精度は、列のタイム・スタンプ精度と同じである必要があります。 同じでない場合は、デフォルトのタイム・スタンプ精度が使用されます。 CURRENT TIMESTAMP のタイム・ゾーンは、特殊レジスター CURRENT TIMEZONE の値です。 比較は、タイム・スタンプの協定世界時の部分を比較することによって行われます。
定数 (Constant)
時間の単位を示し、その後に、7 つの期間キーワードの YEARS、 MONTHS、DAYS、HOURS、MINUTES、SECONDS、または MICROSECONDS のいずれかが続きます。 これらのワードの単数形 (YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、MICROSECOND) も受け入れられます。
変更の終わり
IMPLICIT_TZ
ロード対象のタイム・スタンプ値にタイム・ゾーンが含まれず、ターゲット列のデータ型が TIMESTAMP WITH TIME ZONE である場合に使用する暗黙的なタイム・ゾーンを指定します。
' タイムゾーン文字列 '
暗黙的なタイム・ゾーン値を指定します。 タイム・ゾーンは、現地時間と UTC 間の差 (時分単位) です。 時間の範囲は -12 から 14 で構成され、分は 00 から 59 で構成されます。 タイム・ゾーンは、-12:59 から +14:00 の範囲の値を使用して、±th:tm の形式で指定されます。

IMPLICIT_TZ オプションを指定しないと、LOAD は IMPLICIT_TIMEZONE DECP 値から値を使用します。 この DECP 値の詳細については、「IMPLICIT TIME ZONE フィールド(IMPLICIT_TIMEZONE DECP 値 )」を参照してください。

変更の開始UPDMAXASSIGNEDVAL変更の終わり
変更の開始ID 列の SYSIBM.SYSSEQUENCES にある MAXASSIGNEDVAL 列を LOAD が更新するかどうかを指定します。
はい
昇順または降順の順序付けが使用されているかどうかに応じて、 ID 列のロードされた値が、 MAXASSIGNEDVAL 列の現行値より大きいか小さいときに、 LOAD が MAXASSIGNEDVAL 列を更新することを指定します。 YES はデフォルト値です。
いいえ
ロードされた ID 列の値にかかわらず、 LOAD が MAXASSIGNEDVAL 列を更新しないことを指定します。

MAXASSIGNEDVALの更新に関する制限と要件の一覧については、 LOADの実行による影響を参照のこと。

変更の終わり
変更の開始DEFINEAUX変更の終わり
変更の開始データがこれらのオブジェクトにロードされるかどうかにかかわらず、 LOAD が DEFINE NO 属性を持つすべてのターゲット補助オブジェクトを定義するかどうかを指定します。

DEFINEAUX は、 REPLACE および SHRLEVEL NONE も指定されている場合にのみ適用されます。

いいえ
LOAD がターゲット補助オブジェクトを定義する特別なアクションを実行しないことを指定します。 これらのオブジェクトは、 LOAD がデータをそれらに挿入するときに必要に応じて NO がデフォルトの動作です。
はい
ユーティリティー実行の開始時に、 LOAD がすべてのターゲット LOB および XML オブジェクトとそれらの索引を定義することを指定します。 基礎となるデータ・セットは、ユーティリティーの実行時にこれらのオブジェクトにデータがロードされるかどうかに関係なく、これらのオブジェクトに物理的に割り当てます。

増加対応パーティション ( PBG) 表スペースに対して LOAD DEFINEAUX YES が実行され、ユーティリティーが十分なデータをロードして新規パーティションを追加する場合、新しく作成された LOB 表スペースおよび補助索引は、それらの補助オブジェクトが DEFINE NO 属性を持っているかどうかに関係なく、 LOADによっても定義されます。

変更の終わり
変更の開始FORCE変更の終わり
変更の開始ユーティリティーが表スペースをドレーンするときに実行されるアクションを指定します。
NONE
アクションはとられません。 LOAD は、クレーマーがドレーン処理中にコミットするのを待ちます。 ドレーンが失敗すると、 LOAD はタイムアウトまたは再試行します。 NONE はデフォルトの動作です。
READERS
最後のドレーン再試行時に LOAD が DRAIN ALL を要求したときに、読み取りクレーマーは取り消されます。
すべて
最後のドレーン再試行時に LOAD が DRAIN ALL または DRAIN WRITERS を要求した場合、読み取りおよび書き込みの両方のクレーマーは取り消されます。

LOAD FORCE は、スレッドを取り消すときに、 CANCEL THREAD コマンドによって実行される取り消し操作に類似した内部取り消し操作を実行します。

FORCEを指定した SHRLEVEL CHANGE を指定した場合、 FORCE は無視されます。 このオプションは、 LOAD SHRLEVEL CHANGE 操作には適用されません。

FORCE READERS または FORCE ALLを指定した SHRLEVEL NONE を指定すると、ユーティリティーの開始時に行われるドレーン処理中に、ブロックされたクレーマーが取り消されます。 この場合、ドレーン再試行処理は行われません。

変更の終わり
変更の開始KEEP_EMPTY_PAGES変更の終わり
変更の開始論理パーティションからキーが削除されたときに、LOAD ユーティリティーが非パーティション化副次索引 (NPSI) の空の索引リーフ・ページを保持するかどうかを指定します。

このオプションは、LOAD SHRLEVEL NONE PART REPLACE ユーティリティーの実行にのみ適用され、パーティション化索引には影響しません。

はい
LOAD ユーティリティーが、非パーティション化副次索引の空の索引リーフ・ページを保持することを指定します。 このオプションは、LOAD ユーティリティーのパフォーマンスを向上させ、LOAD 以降のアプリケーションによって挿入された新しい索引キーが、保持されている空の索引リーフ・ページを再利用できるようにします。

デフォルト値は YES です。

いいえ
置き換えられる論理パーティションからキーが削除されるときに作成される空の NPSI リーフ・ページを LOAD ユーティリティーが削除することを指定します。 このオプションにより、NPSI でのスペース再利用が可能になりますが、LOAD ユーティリティー実行のパフォーマンス・コストが増加する可能性があります。
変更の終わり

INTO-TABLE-spec

INTO-TABLE-spec 制御ステートメント は、複数のオプションと共に、ユーティリティー・ジョブが実行する機能を定義します。 LOAD ユーティリティーを 1 回呼び出すだけで、それぞれの 表スペースごとに複数の表またはパーティションをロードすることができます。 ロードされる各表ごとに、少なくとも 1 つの INTO TABLE ステートメントが必要です。 それぞれの INTO TABLE ステートメントでは、以下のことを行います。

  • ロードされる表を示す。
  • 入力レコード内のフィールドを記述する。
  • 入力データ・セットの形式を定義する。

INTO TABLE ステートメントによって指定される表はすべて、同じ表スペースに 属している必要があります。

データがすでにUNLOADまたは SQL/DS 形式であり、LOAD文でFORMAT UNLOADまたはFORMAT SQL/DS を使用している場合、フィールドの指定は許可されません。

VBS データ・セットから XML 列または LOB 列をロードする場合、LOB 値および XML 値は、フィールド仕様リストで指定されているように、レコードの最後にある必要があります。

推奨: 変更の開始フィールド指定は、各INTO TABLE句の最後の指定にすべきである。変更の終わり
INTO-TABLE-spec
構文図を読むビジュアルシンタックスダイアグラムをスキップする INTO TABLE table-name IGNOREFIELDSNOIGNOREFIELDSYESPART整数PREFORMATINTO-TABLE-履歴書仕様INDDNSYSRECINDDNDD 名 (ddname)INDDN(, DD 名 (ddname))DISCARDDNDD 名 (ddname)INCURSORcursor-nameNUMRECS整数WHENSQL/DS=' table-name'分野選択基準(,Field specification (フィールド指定))
INTO-TABLE-履歴書仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするRESUMENO1REPLACEREUSEコピー仕様RESUMEYESコピー仕様KEEPDICTIONARY
分野選択基準
構文図を読むビジュアルシンタックスダイアグラムをスキップするfield-name( start: 終了) = X' バイトれつ'' 文字ストリング'G' グラフィック文字列'N' グラフィック文字列'
Field specification (フィールド指定)
構文図を読むビジュアルシンタックスダイアグラムをスキップするフィールド名指定CHARBIT( 長さ)ストリップ仕様CCSID 1208ストリップ仕様MIXEDストリップ仕様BLOBFPRESERVE WHITESPACEBINARYXMLCLOBFMIXEDPRESERVE WHITESPACECCSID 1208DBCLOBFPRESERVE WHITESPACECCSID 1200VARCHARBITCCSID 1208MIXEDBLOBFPRESERVE WHITESPACEBINARYXMLCLOBFMIXEDPRESERVE WHITESPACECCSID 1208DBCLOBFPRESERVE WHITESPACECCSID 1200ストリップ仕様GRAPHICEXTERNAL( 長さ)ストリップ仕様CCSID 1200VARGRAPHICストリップ仕様CCSID 1200SMALLINTINTEGEREXTERNAL( 長さ)BIGINTBINARY( 長さ)ストリップ仕様VARBINARYBINARY VARYINGストリップ仕様小数点以下何桁FLOATEXTERNAL( 長さ)DATEDATE_PEXTERNAL(長さDATE-FORMAT (日付形式))TIMEEXTERNAL(長さTIME-FORMAT (時刻形式))TIMESTAMPEXTERNAL(長さタイムスタンプ形式)TIMESTAMP-WITH-TIME-ZONEEXTERNAL( 長さ)ROWIDBLOBCLOBMIXEDCCSID 1208DBCLOBCCSID 1200DECFLOAT(34)(16)EXTERNAL( 長さ)XMLPRESERVE WHITESPACEBINARYXMLNULLIF分野選択基準DEFAULTIFデフォルトの条件
フィールド名指定
構文図を読むビジュアルシンタックスダイアグラムをスキップする field-name POSITION( start: 終了)CONSTANTIF分野選択基準CONSTANT(' ストリング'X' まじないじゅ'整数CURRENT DATECURRENT TIMECURRENT TIMESTAMPNULL)
ストリップ仕様
構文図を読むビジュアルシンタックスダイアグラムをスキップするSTRIPBOTH TRAILINGLEADING' もじばけ'2X' もじばけ'TRUNCATE
小数点以下何桁
構文図を読むビジュアルシンタックスダイアグラムをスキップする DECIMAL PACKEDZONEDEXTERNAL( 長さ,0, 位取り (scale))
デフォルトの条件
構文図を読むビジュアルシンタックスダイアグラムをスキップするCONV_ERRORfield-name( start: 終了)=<>X' バイトれつ'' 文字ストリング'G' グラフィック文字列'N' グラフィック文字列'
注:
  • 1 INTO TABLE 節で RESUME または REPLACE に指定された値は、LOAD RESUME のデフォルト値を上書きします。
  • 2 GRAPHIC、BINARY、VARBINARY、またはVARGRAPHICを指定する場合は、「strip-char」を指定することはできません。X'strip-char」のみ指定できます。

INTO TABLE のオプションの説明

テーブル名
ロードされる表の名前を指定します。 この表は、カタログに記述されていなければなりません。

この表は、カタログ表であってはならず、システム管理のマテリアライズ照会表であってもなりません。

表名がスキーマ名で修飾されていない 場合、ユーティリティー・ジョブ・ステップの呼び出し側の許可 ID が、 表名のスキーマ修飾子として使用されます。 名前にブランクが含まれている場合は、表名を引用符で囲みます。

データ・セットにあるすべての LOAD レコードからのデータは、以下の場合を除き、指定された表にロードされます。

  • WHEN 文節を使用しているが、データがフィールド選択基準に一致していない。
  • LOAD ステートメントで FORMAT UNLOAD オプションを使用しているが、 データは INTO TABLE ステートメントで指定されていない表から来ている。
  • パーティションが指定されているが、データはそのパーティションに属していない。
  • データ変換エラーが発生した。
  • データ変換に起因しないエラーが発生した。
IGNOREFIELDS
ターゲット表内の列に対応していない、入力データ・セット内のフィールドを、LOAD がスキップするかどうかを指示します。 表列に対応しないフィールドの例としては、REORG ユーティリティーで生成される、DSN_NULL_IND_nnnnn、DSN_ROWID、DSN_IDENTITY、および DSN_RCTIMESTAMP フィールドが あります。
NO
LOAD の処理では、いずれのフィールドもスキップしないことを指定します。
YES
入力データ・セットのフィールドのうちターゲット表の列に対応していないフィールドを LOAD が スキップすることを指定します。

各入力レコードに可変長フィールドがあり、その後にロードしたくない可変長データが続き、 さらにその後にロードしたいデータが続くような場合、この YES の指定が役に立ちます。 このような場合、可変長フィールドであるため、POSITION キーワードを使用して、 ロードしたくない可変長データをスキップすることはできま せん。 IGNOREFIELDS を指定することによって、ロードしたくない可変長データのフィールドを指定 することができます。さらに、表のいずれの列名とも異なる名前をそのフィールドに付けること によって、LOAD はそれをロードせずにスキップすることができます。

このオプションでは、列をロードしようとしても名前のつづりを誤ると、 フィールドはスキップされてしまうため、このオプションは注意の上使用してください。

NUMRECS
指定した表または表パーティションの入力レコードの数を指定します。
integer
指定した表にロードする完全入力レコードの見積もり数として使用する正整数。 指定された数は、CONTINUEIF 使用時に完全にアセンブルされる入力レコードを示します。

各表または各表パーティションにロードする入力レコードの数を示すには、複数表の表スペースに対し NUMRECS キーワードを使用します。

レコードの数を指定すると、索引の並列作成時にユーティリティーが必要とするソート作業データ・セットのサイジングが改善されます。 LOAD ユーティリティーがソート作業データ・セットのサイズを小さく見積もると、LOAD ユーティリティーの実行が失敗する場合があります。

入力データ・セットがテープに配置されている場合、または入力レコードの一部のみロードする場合、NUMRECS キーワードも使用できます。

SORTKEYS キーワードで、表スペース・レベルで整数値を指定する場合、同じ LOAD ステートメントで NUMRECS キーワードを指定することはできません。

複数の表またはパーティションを同じ LOAD ステートメントでロードする場合、すべての表またはパーティションに対して NUMRECS キーワードを指定するか、すべての表またはパーティションに対して NUMRECS キーワードを指定しないようにする必要があります。

PART 整数
パーティション化表スペースのパーティションにデータをロードすることを指定します。 このオプションは、パーティション化表スペース (増加対応パーティション表スペースは含まない) の場合のみ 有効です。

integer は、レコードのロード先にするパーティションの物理パーティション番号です。 パーティション並列処理が要求されている場合、同じパーティション番号を複数回指定することは できません。 指定されたパーティションの範囲外のデータは ロードされません。 最大は 4096 です。

以下の場合は、LOAD INTO PART integer は許可されません。

  • ID 列がパーティション索引の一部である (ただし、GENERATED ALWAYS の ID 列に OVERRIDE(IDENTITY) が指定されている場合を除く)。
  • 行 ID がパーティション索引の一部である。
  • 表スペースが増加対応パーティションである。

非パーティション化副次索引の場合は、LOAD PART は以下のことを行います。

  • ページ・セットを REBUILD ペンディング (PSRBD) 状況に設定しない。
  • キーの挿入時に、PCTFREE または FREEPAGE 属性を考慮しない。
PREFORMAT
残りのページについて、パーティションとそれに対応するパーティション索引スペースの 割り振り済み RBA の最高位置まで、事前フォーマット設定することを指定します。 この事前フォーマット設定は、データがロードされ、索引が作成された後に行われます。
INDEXDEFER
索引作成を LOAD の BUILD フェーズ中に行うか、それとも REBUILD INDEX を手動で実行するまで据え置くかを指定します。 特に PART を指定した LOAD の場合、索引作成を据え置くと、LOAD のパフォーマンスが向上します。 LOAD時にインデックスが構築されない場合、LOADは影響を受けたインデックスをREBUILD保留状態にします。
NONE
LOAD の BUILD フェーズ中に索引を作成することを指定します。
すべて
変更の開始LOAD ユーティリティーの BUILD フェーズの一部として索引を作成しないことを指定します。 索引作成は、REBUILD INDEX を手動で実行するまで据え置かれます。 SHRLEVEL CHANGEが指定されている場合、ALLは無効である。変更の終わり
NPI
変更の開始LOAD ユーティリティーの BUILD フェーズの一部として非パーティション化索引を作成しないことを指定します。 非パーティション化索引の作成は、REBUILD INDEX を手動で実行するまで据え置かれます。 SHRLEVEL CHANGE が指定されている場合、NPI は無効である。変更の終わり
NONUNIQUE
非ユニーク索引の作成のみを据え置くことを指定します。 NONUNIQUE は、ALL または NPI も指定されている場合にのみ有効です。 NONUNIQUE を指定しないと、ユニーク索引と非ユニーク索引の作成が据え置かれます。 ロードしようとしている表に対してユニーク索引が定義されている場合は、データが実際にユニークでなければ、NONUNIQUE を指定してください。 REBUILD INDEX は、ユニーク索引の重複キーを解決しません。

INDEXDEFER ALL あるいは INDEXDEFER NPI が指定されている場合

  • ENFORCE CONSTRAINTS も指定されている場合は、索引外部キーの作成は据え置かれません。
  • RESUME も指定されている場合は、DEFINE NO を指定して作成され、現時点でも未定義の索引の作成は据え置かれません。 未定義の索引の作成が据え置かれるのは、REPLACE が指定されている場合に限られます。

LOAD REPLACE SHRLEVEL REFERENCE PART の実行結果はすべて、INDEXDEFER NPI のデフォルトとなり、LOAD の完了が成功すると、影響を受けたパートレベルの非パーティショニング・インデックスが RBDP ステータスになります。 NONUNIQUE は、指定しても無視されます。

RESUME
空のパーティションにレコードがロードされるのか、空でないパーティションにロードされるのかを指定します。 非セグメント化表スペースの場合、削除済みのマークが付いている行のためのスペースは再使用されません。 あるいはドロップ済みの表の行が占有していたスペースは再使用されません。 RESUME オプションが表スペース・レベルで指定されている 場合は、PART 文節で RESUME オプションを指定することはできません。

RESUME オプションを表スペース全体に適用する場合は、LOAD RESUME オプションを使用します。 RESUME オプションを特定のパーティションに適用する 場合は、PART integer RESUME を使用することによって指定します。

NO
レコードを空のパーティションにロードします。 パーティションが空ではなく、しかも REPLACE を使用していない場合は、メッセージが出され、ユーティリティー・ジョブ・ステップは ジョブ・ステップ条件コード 8 で終了します。

削除された行またはドロップされた表の行を含む非セグメント化表スペースの場合、REPLACE キーワードを使用すると効率が上がります。

YES
レコードを非空のパーティションにロードします。 パーティションが空の場合は、 警告メッセージが出されますが、パーティションはロードされます。

変更の開始COPYDDN または RECOVERYDDN が RESUME YES で指定されている場合は、 LOAD ステートメントの処理中に、指定されたパーティションに対してインライン・イメージ・コピーが作成されます。 イメージ・コピーは、表スペース・レベルで作成され、 INTO TABLE PARTで指定されたパーティションごとにフル・イメージ・コピーとなります。 COPYDDN または RECOVERYDDN が表スペース・レベルで指定されている場合は、 INTO TABLE PART レベルで指定することはできません。変更の終わり

REPLACE
表スペース全体ではなく、PART オプションで引用したパーティションの内容のみを 置き換えることを示します。

REPLACEオプションを指定してテーブル領域全体を置換する場合、INTO TABLE のPART整数REPLACEオプションを指定することはできません。

ただし、PART integer REPLACE は LOAD RESUME YES と併用することができます。

REUSE
REPLACEオプションと併用する場合、LOADは管理データセットを論理的にリセットし、再利用すべきであることを指定します。 Db2 -管理データセットを削除および再定義することなく論理的にリセットし、再利用する REUSEを指定しない場合、 Db2 削除および再定義を行い、 Db2 -管理データセットを削除して再定義し、リセットします。

PART の指定で REPLACE と共に REUSE を指定した場合 (表スペース・レベルの LOAD に対してではなく)、 指定されたパーティションのみが論理的にリセットされます。 表スペースに対しては REUSE、かつパーティションに対しては REPLACE を指定した場合は、置き換えられ た部分のデータ・セットは論理的にリセットされます。

KEEPDICTIONARY
LOAD ユーティリティーが新しいディクショナリーを作成しないように指定し ます。 LOAD は、現行ディクショナリーを保持し、それを入力データの圧縮に使用します。 このオプションによって、新しいディクショナリーの作成に関連したコストが削減されます。

変更の開始このキーワードは、ディクショナリーが存在し、ロードされているパーティションが圧縮を使用して定義されている場合にのみ有効です。変更の終わり

変更の開始パーティションが圧縮を使用して定義されているが、ディクショナリーが存在しない場合は、 1 つがビルドされ、警告メッセージが出されます。変更の終わり

INDDN ddname
パーティションの入力データセット またはデータセットを指定します。

DD 名 は、ジョブ・ステップまたはユーティリティー入力ストリーム内のテンプレートの名前からの DD ステートメントの名前です。 デフォルト値は SYSRECです。

変更の開始複数の ddname 値が指定された場合、それらのデータセットはLOADの入力として動的に連結される。 最大 1000個の DD 名 最大値を指定することができます。 同じ DD ステートメントをジョブ・ステップから 2 回以上指定することはできません。変更の終わり

入力データ・セットのレコード・フォーマットは、固定長または可変長でなければなりません。 このデータ・セットは、基本順次アクセス方式 (BSAM) によって読み取り可能な順次データ・セットでなければなりません。

ファイル参照変数を使用して LOB データをロードする場合、入力データ・セットには、 LOB 列の値を含むファイルの名前が含まれている必要があります。 各ファイルは、順次ファイル、PDS メンバー、 PDSE メンバー、または独立した HFS ファイル のいずれかが可能です。

1 つの INTO TABLE PART 文節に INDDN を指定する場合は、その LOAD ステートメント内の他のすべての INTO TABLE PART 文節で INDDN を指定する必要があります。

( 複数の INTO TABLE PART INDDN 節を指定することによって ) パーティション・レベルで入力データ・セットを提供すると、 LOAD パーティションの並列処理が可能になり、パフォーマンスが大幅に向上します。 1 つ以上の非パーティション化副次索引が表スペース上に存在する場合は、並行独立したジョブを実行するのではなく、パーティションの並列処理を使用して単一ジョブにすべてのパーティションをロードすることは推薦された。

フィールド仕様は、各入力ファイルに別々に適用されます。 したがって、複数の INTO TABLE PART INDDN 節を使用する場合は、それぞれにフィールド指定が必要になります。

DISCARDDN ddname
パーティションの DISCARD データ・セットに対して、使用する DD ステートメントを指定します。 DISCARD データ・セットには、ロードされないレコード (例えば、変換エラーを含んでいる) のコピー が入っています。 また、廃棄データ・セットには、ロードされてから (ユニーク索引エラー、あるいは参照制約違反または チェック制約違反のために) 除去されたレコードのコピーも保持されます。

変更の開始LOAD 文で DISCARDS n が指定され、LOAD パーティション並列処理が有効になっている場合は、INTO TABLE PART 節で DISCARDDN を指定することをお勧めします。 パーティションのロード参照。変更の終わり

RELOAD、INDEXVAL、および ENFORCE フェーズの際に、入力レコードに廃棄のフラグを立てます。 ただし、フラグが立てられたレコードをユーティリティーが入力データ・セットから DISCARD データ・セットにコピーする DISCARD フェーズまで、ユーティリティーは DISCARD データ・セットを書き込みません。

DISCARD データ・セットは、順次データ・セットでなければならず、また、レコード形式、 レコード長、およびブロック・サイズが入力データ・セットと同じで、BSAM による書き込み アクセスが可能でなければなりません。

ddname は、廃棄データ・セットの名前です。 DISCARDDN は、テンプレート名が可能です。

DISCARDDN オプションを省略すると、LOAD は廃棄レコードを保管しません。

INCURSOR カーソル名
入力データ・セットに対するカーソルを指定します。 LOAD ユーティリティーがカーソルを使用する前に、カーソルを宣言しておく必要があります。 EXEC SQL ユーティリティー制御ステートメント を使用して、カーソルを定義します。 カーソルを定義した表と同じ表にデータをロードすることはできません。

指定されたカーソル は、DB2 ファミリーの クロスローダー機能の一部として使用できます。 クロスローダー機能によってユーザーは、DRDA 準拠のいずれのリモート・サーバーからでも、データをロード することができます。 クロスローダー機能の詳細については、 クロスローダー機能を使用したデータのロードを参照してください。

cursor-name はカーソル名です。 LOAD ユーティリティーで指定されるカーソル名の長さは 8 文字を超えてはなりません。

INCURSOR オプションは、以下のオプションとの併用はできません。

  • SHRLEVEL CHANGE
  • NOSUBS
  • FORMAT UNLOAD
  • FORMAT SQL/DS
  • CONTINUEIF
  • WHEN
  • SPANNED YES

さらに、INCURSOR オプションと一緒にフィールド仕様を指定することはできません。

WHEN
入力データ・セットのどのレコードがロードされるかを示し ます。 WHEN 文節を指定しない場合 (かつ、FORMAT UNLOAD を LOAD ステートメントで使用しない場合) は、 入力データ・セットのすべてのレコードが、指定した表または パーティションにロードされます。 指定されたパーティションの範囲を超えたデータは読み込まれません。

WHEN に続くオプションによって条件を記述します。これにより、条件を満たす入力レコード がロードされます。 どの INTO TABLE ステートメントのどの WHEN 文節も満たさない入力レコードは、破棄データ・セットが使用されていて IGNORE(WHEN) オプションが指定されていなければ、廃棄データ・セットに書き込まれます。

文字ストリング定数は、入力 データ・レコードに一致する文字セットで、LOAD ユーティリティー制御ステートメントに指定される必要があります。 データが EBCDIC の場合は LOAD 制御ステートメントに EBCDIC 定数を 指定し、データが UNICODE の場合は UNICODE 定数を指定してください。 16 進形式を 使用して WHEN 条件をコーディングすることもできます。 例えば、(1:1)='1' ではなく、(1:1)=X'31' を使用します。

SQL/DS=「テーブル名
LOADステートメントでFORMAT SQL/DS オプションが使用されている場合のみ有効です。

table-name は、アンロード・データ・セットにアンロードされている表の名前 です。 INTO TABLE の後のテーブル名は SQL/DS テーブルがどの Db2 テーブルにロードされるかを示します。 名前にブランクが含まれている場合は、表名を引用符で囲みます。

WHEN句が指定されていない場合、 SQL/DS テーブルのすべてのレコードが、INTO TABLEの後に指定されたテーブルにロードされます。

フィールド選択基準

フィールドおよび文字定数を記述します。 そのフィールドに指定の定数が入っている レコードのみが、INTO TABLE の後に指定された表にロードされます。

選択基準のフィールドは、以下のことが必要です。

  • 文字またはグラフィック・ストリングが入っていること。 入力レコードのフィールド内容がストリング定数と比較される際、データ・タイプの変換は行われません。
  • アセンブルされた各入力レコードで、同じオフセットのバイトから始まっていること。 選択フィールドの前に長さフィールドが格納されている可変長ストリングがレコードに含まれている場合は、選択フィールドの開始が常に同じオフセットになるように埋め込みを行う必要があります。

このフィールドと定数は、同じ長さである必要はありません。 同じ長さではない場合、比較する前にいずれか短い方に埋め込みが行われます。 文字とグラフィック・ストリングにはブランクが埋め込まれ ます。 16 進数ストリングにはゼロが埋め込まれます。

field-name
field-specification によって定義されたフィールドの名前を指定します。 フィールド名 が使用される場合、フィールドの開始位置と終了位置は、フィールド仕様の POSITION オプションによって指定されます。
(開始:終了)
アセンブルされたロード・レコード内の列番号を識別します。レコードの最初の桁は 1 桁目です。 2 つの数値は、ロード・レコード内の選択フィールドの開始桁と終了桁を示します。

:end を使用しない場合は、フィールドの長さは定数と同じと見なされます。

Xバイト列
16 進文字のストリングとしての定数を示します。 例えば、 次の WHEN 文節は、33 桁目と 34 桁目に値 X'FFFF' が入っているレコードがロードされる ことを指定しています。
WHEN (33:34) = X'FFFF'
文字列
文字のストリングとしての定数を示します。 例えば、次の WHEN 文節では、レコードは、フィールド DEPTNO の値が D11 の場合 にロードされるように指定しています。
WHEN DEPTNO = 'D11'

フィールドで特定の外部形式の日付、時刻、またはタイム・スタンプを使用する場合、フィールド仕様では、指定された形式に対応する文字ストリングを使用する必要があります。

G'graphic-string '
2 バイト文字のストリングとしての定数を示します。 例えば、次の WHEN 文節では、レコードは、33 桁目から 36 桁目に指定された値を持っている 場合にロードされるように指定しています。
WHEN (33:36) = G'<**>'
この例では、 < はシフトアウト文字、 * は 2 バイト文字で、及び > はシフトイン文字です。

入力データの最初あるいは最後のバイトがシフトアウト文字の場合は、 比較の際に無視されます。 G は大文字で指定します。

N'graphic-string '
2 バイト文字のストリングとしての定数を示します。 N と G は、グラフィック・ストリング定数を指定する上では同じ意味 です。 N は大文字で指定してください。
(フィールド指定、… )
ロードされるデータの場所、形式、および NULL 値 ID を記述します。

フィールド仕様がまったく使用されていない場合、以下のようになります。

  • 入力レコード内のフィールドは、DB2 表 内の順序と同じであると想定されます。
  • LOAD ステートメントで FORMAT オプションを使用している場合は、 それによってフォーマット設定が行われます。
  • 入力の固定ストリングは、最大固定長のストリングと見なされ ます。 VARCHAR フィールドと VARGRAPHIC フィールドには、データの前に有効な 2 バイトの 2 進数の 長さフィールドが含まれていなければなりません。VARCHAR フィールドまたは VARGRAPHIC フィールド とそれに続くフィールドとの間のギャップは許可されません。
  • BINARY フィールドは、最大固定長であると想定されます。
  • VARBINARY フィールドには、データの前に有効な 2 バイトの 2 進数の長さフィールド が含まれていなければなりません。
  • ROWID フィールドは可変長であり、データの前に有効な 2 バイトの 2 進数の長さフィールド を持っている必要があります。ROWID フィールドと後続のフィールドの間にギャップがあってはなりません。
  • LOB フィールドは、可変長であり、データの前に 4 バイトの有効な 2 進数の長さフィールド が含まれていなければなりません。フィールドとそれに続くフィールドとの間のギャップは許可されません。
  • 数値データは、適切な内部 DB2 数表現であると想定されます。
  • NULLIF または DEFAULTIF オプションは使用できません。

入力表に対してフィールド仕様が使用されている場合、 表のフィールドのうちデフォルト値のないフィールドには、フィールド仕様が存在している必要があります。 表のフィールドに対応するフィールド指定がないものがあれば、そのデフォルト値がロードされます。

出力表の列が、フィールド指定もなく、NOT NULL として定義されており、デフォルト もない場合は、ユーティリティー・ジョブ・ステップは終了します。

ID 列または 行変更タイム・スタンプ列をフィールド仕様で指定できるのは、 それらの列が GENERATED BY DEFAULT 属性で定義されている場合のみです。

アプリケーションまたはシステムのテンポラル・データをロードしようとしており、フィールド仕様を組み込む場合は、開始時刻と終了時刻の両方の列のフィールドを指定しなければなりません。

フィールド名
フィールドの名前を指定します。どのような名前でも構いません。 フィールドをロードする場合、その名前は、IGNOREFIELDS が指定されていない限り、 INTO TABLE の後に 指定されている表の列名でなければなりません。 フィールド名を、入力となるデータの範囲を指定する手段として使用することができます。 選択したレコードを空のテーブルスペースにロードする例については、例4:異なるデータタイプのデータのロードを参照してください。

フィールドの開始位置は、POSITION オプションで指定されます。 POSITION を使用しない場合、 開始位置は、直前のフィールドの終わりから 1 桁後になります。

LOAD は、下にリストされている順序で、以下のいずれかの方法でフィールドの長さを決定します。

  1. フィールドのデータ・タイプが VARCHAR、VARGRAPHIC、VARBINARY、ROWID、または XML の場合、 データの前の 2 バイトの 2 進数フィールドに長さが入っていると想定されます。 VARCHAR、VARBINARY、および XML フィールド の場合、長さはバイト数で表されています。VARGRAPHIC フィールドの場合、長さフィールドは、2 バイト文字の数を 示します。

    フィールドのデータ・タイプが CLOB、BLOB、または DBCLOB の場合、長さは、 データの前の 4 バイトの 2 進数フィールドに含まれているものと見なされ ます。 BLOB および CLOB フィールドの場合は長さはバイトであり、DBCLOB フィールドの場合 は長さのフィールドは 2 バイト文字数を示しています。

  2. POSITION オプションで :end が使用されている場合、 長さは、startend から計算されます。 この場合、CHAR、GRAPHIC、INTEGER、DECIMAL、 FLOAT、または DECFLOAT 指定の後の長さ属性は無視されます。
  3. CHAR、GRAPHIC、INTEGER、DECIMAL、FLOAT、 または DECFLOAT 仕様の長さ属性が長さとして使用されます。
  4. 長さは、表定義の DB2 フィールド記述から取得されるか、 データ・タイプに従ってデフォルト値が割り当てられます。 DATE および TIME フィールドの場合、 長さは、インストール時に定義されています。 可変長フィールド の場合、長さは DB2 表定義内の列から定義されます。 ただし、ヌル標識バイトがあればそれは除きます。 次の表に、各データ・タイプのデフォルト長 (バイト) を 示します。
    表 1. 各データ・タイプのデフォルトの長さ (バイト)
    データ・タイプ デフォルトの長さ (バイト)
    BIGINT 8
    BINARY 列定義で使用される長さ
    BLOB 可変長
    CHARACTER 列定義で使用される長さ
    CLOB 可変長
    日付 10 (またはインストール・システムのデフォルト)
    DBCLOB 可変長
    DECFLOAT(16) 8
    DECFLOAT(34) 16
    DECIMAL EXTERNAL 10 進数の出力列の場合は 10 進数の精度。 それ以外の場合は列定義で使用される長さ。
    DECIMAL PACKED 列定義で使用される長さ
    DECIMAL ZONED 10 進数の出力列の場合は 10 進数の精度。 それ以外の場合は列定義で使用される長さ。
    FLOAT (単精度) 4
    FLOAT (倍精度) 8
    GRAPHIC 列定義で使用される長さの 2 倍
    INTEGER 4
    MIXED 混合 DBCS データ
    ROWID 可変長
    SMALLINT 2
    時刻 8 (またはインストール・システムのデフォルト)
    TIMESTAMP 26
    VARBINARY 可変長
    VARCHAR 可変長
    VARGRAPHIC 可変長
    XML 可変長
    TIMESTAMP WITH TIME ZONE 33

フィールドのデータ・タイプが指定されていない 場合、そのフィールドのデータ・タイプは、そのフィールドがロードされる先の列 について DB2 表定義に指定されているデータ・タイプ と同じであると想定されます。

POSITION(開始:終了
組み立てられたロード・レコードのどこにフィールドがあるのかを示します。

開始 および 終了 は、フィールドの最初の桁と最後の桁の位置です;レコードの最初の桁は 1 桁目です。 このオプションは省略できます。

桁の位置は、次のように指定することができます。

  • 整数の n。これは実際の桁番号を意味します。
  • *。これは前のフィールドの終わりから 1 桁後を意味します。
  • *+n (ここで、n は整数)。 これは * によって指示された位置の n 桁後を意味します。

POSITION オプション指定の全体を括弧で囲まないでくだ さい。start:end 記述のみを括弧で囲んでください。 次の表に、有効な指定と無効な指定を示します。

表 2. POSITION の有効な指定と無効な指定の例
有効 無効
POSITION (10:20) (POSITION (10:20))
変更の開始CONSTANTIF フィールド選択基準変更の終わり
変更の開始Db2 に定数値がロードされる状態を説明する。 フィールド選択基準はフィールド選択基準で説明されているのと同じオプションを使用して記述できます。 CONSTANTIF フィールドの内容が、指定された文字定数と一致する場合、 field-specification で指定されているフィールドには、 CONSTANT キーワードに指定された値がロードされます。

CONSTANTIFフィールドがVARCHARまたはVARGRAPHICフィールドの名前で定義されている場合、 Db2 VARCHAR または VARGRAPHIC フィールドのデータ部分の前に表示される2バイトのバイナリフィールドから、フィールドの長さを取得します。

文字ストリング定数は、入力 データ・レコードに一致する文字セットで、LOAD ユーティリティー制御ステートメントに指定される必要があります。 データが EBCDIC の場合は LOAD 制御ステートメントに EBCDIC 定数を 指定し、データが UNICODE の場合は UNICODE 定数を指定してください。 また、 16 進形式を使用して CONSTANTIF 条件をコーディングすることもできます。 例えば、入力データが EBCDIC で、制御ステートメントが UTF-8 の場合、 制御ステートメントでは (1:1)='1' ではなく、(1:1)=X'31' を使用します。

変更の終わり
変更の開始CONSTANT(...)変更の終わり
変更の開始フィールド名に一致する列を定数値と一緒にロードするよう指定します。 CONSTANT キーワードに関連付けられているフィールド名は、指定された表の列名に一致する必要があります。 CONSTANT フィールドの長さとタイプは指定された値から生成され、ターゲット列に有効であることが必要です。

CONSTANT フィールドの場合、他のフィールド指定オプションは指定できません。 LOB 列や XML 列に CONSTANT フィールドを指定することはできません。

CONSTANT キーワードで無効な値が指定されたためにレコードが廃棄された場合、廃棄データ・セット内のレコードは、その定数値 (複数の場合もある) を使用してロードされたレコードではなく、SYSREC からの当初のレコードを反映しています。

'string'
ターゲット列に挿入する文字ストリングを指定します。 指定されたストリングが 'string' という形式の場合、それは、たとえ SYSREC のコード化スキームが同じでなくても、SYSIN のコード化スキームに含まれるものと想定されます。 このストリングをターゲット列に挿入する前に、変換を適用することもできます。
X'hex-string '
ターゲット列に挿入する 16 進値を指定します。 16 進値は、X'hex-string' の形式で指定する必要があります。
integer
ターゲット列に挿入する整数を指定します。 有効な値は、-2147483648 から 2147483647 までです。
CURRENT DATE
ターゲット列に現在日付を挿入することを指定します。
CURRENT TIME
ターゲット列に現在時刻を挿入することを指定します。
CURRENT TIMESTAMP
ターゲット列に現在のタイム・スタンプを挿入することを指定します。
NULL
ターゲット列に NULL を設定するよう指定します。 ターゲット列は NULL 可能であることが必要です。

変更の開始GRAPHICまたはVARGRAPHICに定数値を指定するには、 ' 文字列'または X '16進文字列'リテラルを使用したCHARまたはVARCHARを使用します。 変更の終わり

変更の開始例: DEPTNO POSITION(3) VARCHAR CONSTANT('403')変更の終わり

変更の終わり

フィールド仕様におけるデータ・タイプ: 下記のいずれかのキーワードで、フィールドのデータ・タイプを指定できます。 グラフィックス・フィールドの場合を除き、length は、バイト数で表した入力フィールドの長さです。

EXTERNAL と指定された数字は、入力レコードではすべて同じ形式です。

変更の開始CCSID が指定された場合、LOAD は以下の入力フィールド形式をサポートします。変更の終わり

変更の開始
表 3. サポートされるソース・フィールドからターゲット・フィールドへの CSSID 形式
ソース CCSID ターゲット CCSID
ASCII EBCDIC ユニコード UNICODE 列がある EBCDIC 表
ASCII はい はい はい いいえ
EBCDIC はい はい はい はい
ユニコード はい はい はい いいえ
UNICODE 列がある EBCDIC 表 いいえ はい 1 はい はい
変更の終わり
表の注:
  1. 場合によっては、インストール・パネル DSNTIPF の EBCDIC CCSID フィールドがグラフィックを使用するように設定されている必要があります。
CHAR(長さ
固定長文字ストリングを指定します。 length を指定しない 場合、ストリングの長さは、POSITION 指定から決められます。 length また は POSITION を指定しない場合、LOAD は CHAR のデフォルトの長さ (表の列の長さで決まる) を使用します。 CHARACTER および CHARACTER(長さ) を指定することもできます。

CLOBF、BLOBF、 または DBCLOBF のファイル名に対してタイプを CHAR と指定する場合、LOAD ユーティリティーが正しいファイル名を 指定できるように、長さも指定する必要があります。 そうしないと、無効な列仕様についての メッセージ DSNU338I が発行されます。

BIT
入力フィールドに BIT データが含まれていることを指定し ます。 BIT が指定されている場合、LOAD は、入力データに対する CCSID 変換をバイパスします。 ターゲット列が BIT データ・タイプ属性を持っている場合は、LOAD は、入力データに対する コード・ページ変換はいずれもバイパスします。
変更の開始CCSID 1208変更の終わり
変更の開始入力フィールドに CCSID 1208 (UTF-8) のデータが含まれていることを指定します。 データ変換が発生した場合、CCSID 1208 は入力データに使用されます。変更の終わり
MIXED
入力フィールドが、SBCS と DBCS データの混合であることを指定し ます。 MIXED が指定されている場合は、いずれかの必須の CCSID 変換では、入力データに混合 CCSID が使用されます。 MIXED が指定されていない場合は、このような変換では、入力データに対して SBCS CCSID が使用されます。
BLOBF
入力フィールドに、指定された BLOB/XML 列にロードされる BLOB ファイルの名前が入っている ことを示します。

BINARYXML ファイル参照変数を使用してロードされる XML 文書が Extensible Dynamic Binary XML DB2 Client/Server Binary XML Format (バイナリー XML 形式) であることを指定します。

CLOBF
入力フィールドに、指定された CLOB/XML 列にロードされる CLOB ファイルの名前が入っている ことを示します。変更の開始
変更の開始CCSID 1208変更の終わり
変更の開始入力フィールドに CCSID 1208 (UTF-8) のデータが含まれていることを指定します。 データ変換が発生した場合、CCSID 1208 は入力データに使用されます。変更の終わり
変更の終わり
DBCLOBF
入力フィールドに、指定された DBCLOB/XML 列にロードされる DBCLOBF ファイルの名前が入っている ことを示します。変更の開始
変更の開始CCSID 1200変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1200 (UTF-16) であることを指定します。 データ変換が発生した場合、CCSID 1200 は入力データに使用されます。変更の終わり
変更の終わり
PRESERVE WHITESPACE
XML 列内の空白文字が保持されることを指定します。 デフォルトでは、空白文字は 保持されません。
STRIP
データの先頭、末尾、または両端から、LOAD がゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。 LOAD は、CHAR フィールドに対する 埋め込みを行って、列の残りの部分を埋めます。

LOAD は、文字コード変換または埋め込みを行う前に、除去操作を適用します。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD がブランクまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
'strip-char'
LOAD がデータから除去する 1 バイト文字または 2 バイト文字を指定します。

この文字の値は EBCDIC で指定してください。 LOAD は、入力コード化スキームに応じて 、strip-char 値が除去操作で使用される前に、SBCS CCSID 変換を適用します。

ロードされる列のサブタイプが BIT の場合、または、EBCDIC 以外のコード化スキームで strip-char 値を 指定する場合は、16 進形式 (X'strip-char') を使用してください。 LOAD は、16 進形式が使用されている場合は、CCSID 変換は行いません。

X'strip-char'
LOAD がデータから除去する 1 バイト文字または 2 バイト文字を 16 進形式で指定 します。 1 バイト文字の場合は、この値を X'hh' の形式 (hh は 2 個の 16 進文字) で 指定してください。 2 バイト文字の場合は、この値を X'hhhh' の 形式 (hhhh は 4 個の 16 進文字) で指定してください。

EBCDIC 以外のエンコード化スキームで文字を指定するには、16 進形式を使用 します。 16 進形式で文字の値を指定すると、LOAD は、CCSID 変換は行いません。

除去文字を 16 進形式で指定した場合は、入力コード化スキームでその文字を 指定する必要があります。

TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。 LOAD は、CCSID 変換の後で、切り捨て操作を行います。

入力データが BIT データの場合、LOAD はバイト境界でデータを切り捨てます。 入力データが SBCS または MIXED データの場合、LOAD は文字境界でデータを切り捨て ます。 (2 バイト文字が分割されることはありません。) MIXED フィールドが列に収まるように切り捨て られた場合は、切り捨てられたストリングは指定された列のサイズよりも短くなる可能性があります。 このような場合は、出力 CCSID でブランクが右側に埋め込まれます。 MIXED データが EBCDIC の場合は、切り捨ての際に DBCS ストリングの前後の SO (シフトアウト) およ び SI (シフトイン) 文字は保持されます。

VARCHAR
可変長の文字フィールドを指定します。 バイトで表した長さを、データの前の 2 バイト の 2 進数フィールドに指定する必要があります。 (この長さには、2 バイト・フィールド自体は含まれません。) 長さフィールドは、POSITION オプションの start で指定された桁から 始まる必要があります。 :end は指定しても、無視されます。
BIT
入力フィールドに BIT データが含まれていることを指定し ます。 BIT が指定されている場合、LOAD は、入力データに対する CCSID 変換をバイパスします。 ターゲット列が BIT データ・タイプ属性を持っている場合は、LOAD は、入力データに対する コード・ページ変換はいずれもバイパスします。
MIXED
入力フィールドに混合した DBCS データが含まれていることを指定します。 MIXED が指定されている場合は、いずれかの必須の CCSID 変換では、入力データに混合 CCSID が使用されます。 MIXED が指定されていない場合は、このような変換では、入力データに対して SBCS CCSID が使用されます。
変更の開始CCSID 1208変更の終わり
変更の開始 CLOB 入力ファイル内のデータが CCSID 1208 (UTF-8) であることを指定します。 データ変換が発生した場合、CCSID 1208 は入力データに使用されます。変更の終わり
BLOBF
入力フィールドに、指定された BLOB/XML 列にロードされる BLOB ファイルの名前が入っている ことを示します。

BINARYXML。ファイル参照変数を使用してロードされる XML 文書がバイナリー XML 形式であることを指定します。

CLOBF
入力フィールドに、指定された CLOB/XML 列にロードされる CLOB ファイルの名前が入っている ことを示します。変更の開始
変更の開始CCSID 1208変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1208 (UTF-8) であることを指定します。 データ変換が発生した場合、CCSID 1208 は入力データに使用されます。変更の終わり
変更の終わり
DBCLOBF
入力フィールドに、指定された DBCLOB/XML 列にロードされる DBCLOBF ファイルの名前が入っている ことを示します。変更の開始
変更の開始CCSID 1200変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1200 (UTF-16) であることを指定します。 データ変換が発生した場合、CCSID 1200 は入力データに使用されます。変更の終わり
変更の終わり
PRESERVE WHITESPACE
XML 列内の空白文字が保持されることを指定します。 デフォルトでは、空白文字は 保持されません。
STRIP
データの先頭、末尾、または両端から、LOAD がゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。 LOAD は、VARCHAR の長さフィールドを除去されたデータの長さに合わせます。

LOAD は、文字コード変換または埋め込みを行う前に、除去操作を適用します。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD がブランクまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
'strip-char'
LOAD がデータから除去する 1 バイト文字または 2 バイト文字を指定します。

この文字の値は EBCDIC で指定してください。 LOAD は、入力コード化スキームに応じて 、strip-char 値が除去操作で使用される前に、SBCS CCSID 変換を適用します。

ロードされる列のサブタイプが BIT の場合、または、EBCDIC 以外のコード化スキームで strip-char 値を 指定する場合は、16 進形式 (X'strip-char') を使用してください。 LOAD は、16 進形式が使用されている場合は、CCSID 変換は行いません。

X'strip-char'
LOAD がデータから除去する 1 バイト文字または 2 バイト文字を 16 進形式で指定 します。 1 バイト文字の場合は、この値を X'hh' の形式 (hh は 2 個の 16 進文字) で 指定してください。 2 バイト文字の場合は、この値を X'hhhh' の 形式 (hhhh は 4 個の 16 進文字) で指定してください。

EBCDIC 以外のエンコード化スキームで文字を指定するには、16 進形式を使用 します。 16 進形式で文字の値を指定すると、LOAD は、CCSID 変換は行いません。

除去文字を 16 進形式で指定した場合は、入力コード化スキームでその文字を 指定する必要があります。

TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。 LOAD は、CCSID 変換の後で、切り捨て操作を行います。

入力データが BIT データの場合、LOAD はバイト境界でデータを切り捨てます。 入力データが文字データの場合、LOAD は文字境界でデータを切り捨てます。 大/小文字混合タイプのデータが列に収まるように切り捨て られた場合は、切り捨てられたストリングは指定された列のサイズよりも短くなる可能性があります。 このような場合は、出力 CCSID でブランクが右側に埋め込まれます。

GRAPHIC(長さ
固定長のグラフィック・タイプを指定します。 フィールド仕様には、startend の両方を指定することができます。

GRAPHIC を使用する場合、入力データにシフト文字を含んではなりま せん。 startend は、データ自体の開始位置と終了位置を示している必要があります。

length は、2 バイト文字の文字数です。 バイトで表したフィールドの長さは、length の値の 2 倍です。 length を指定しない場合は、2 バイト文字の 長さは、POSITION 指定から決められます。 length または POSITION を 指定しない場合、LOAD は GRAPHIC のデフォルトの長さ (表の列の長さで決まる) を使用します。

変更の開始例えば、*** は 3 文字の 2 バイト文字を表すとします。 次に、***を記述するには、 POSITION(1:6) GRAPHIC または POSITION(1) GRAPHIC(3) を指定します。 このように記述された GRAPHIC フィールドは、フィールド選択基準では指定できません。変更の終わり

STRIP
データの先頭、末尾、または両端から、LOAD がゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。

LOAD は、文字コード変換または埋め込みを行う前に、除去操作を適用します。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD がブランクまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
X'strip-char'
LOAD がデータから除去する 2 バイト文字の 16 進形式を指定します。 この値は X'hhhh' の形式 (hhhh は 4 個の 16 進文字) で 指定してください。

入力コード化スキームでその文字を指定する必要があります。

TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。 LOAD は、CCSID 変換の後で、切り捨て操作を行います。

LOAD は、切り捨てを文字境界で行います。 2 バイト文字が分割されることはありません。

変更の開始CCSID 1200変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1200 (UTF-16) であることを指定します。 データ変換が発生した場合、CCSID 1200 は入力データに使用されます。変更の終わり
GRAPHIC EXTERNAL(長さ
外部形式を持つグラフィック・タイプの固定長フィールドを指定します。 フィールド仕様には、startend の両方を指定することができます。

GRAPHIC EXTERNAL を使用する場合、入力データの開始位置にシフトアウト文字、 終了位置にシフトイン文字が必要です。 シフト文字以外は、このフィールドは偶数バイトでなければなりません。 いずれのペアの最初のバイトもシフト文字であってはなりません。

length は、2 バイト文字の文字数です。 GRAPHIC EXTERNAL の length は、 シフト文字によって表されるバイト数は含んでいません。 バイトで表したフィールドの長さは、length の値の 2 倍です。 length を指定しない場合は、2 バイト文字の 長さは、POSITION 指定から決められます。 length または POSITION を 指定しない場合、LOAD は GRAPHIC のデフォルトの長さ (表の列の長さで決まる) を使用します。

変更の開始例えば、「 *** 」は 3 つの 2 バイト文字を表し、 < および > はシフトアウト文字とシフトイン文字を表すことができます。 次に、<***>を記述するには、または POSITION(1:8) GRAPHIC EXTERNAL のいずれかを POSITION(1) GRAPHIC EXTERNAL(3)指定します。変更の終わり

STRIP
データの先頭、末尾、または両端から、LOAD がゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。

LOAD は、文字コード変換または埋め込みを行う前に、除去操作を適用します。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD がブランクまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
X'strip-char'
LOAD がデータから除去する 2 バイト文字の 16 進形式を指定します。 この値は X'hhhh' の形式 (hhhh は 4 個の 16 進文字) で 指定してください。

入力コード化スキームでその文字を指定する必要があります。

TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。 LOAD は、CCSID 変換の後で、切り捨て操作を行います。

LOAD は、切り捨てを文字境界で行います。 2 バイト文字が分割されることはありません。

VARGRAPHIC
可変長のグラフィックス・フィールドを示します。 2 バイト文字で表した長さを、 データの前の 2 バイトの 2 進数フィールドに指定する必要があり ます。 (この長さには、2 バイト・フィールド自体は含まれません。) 長さフィールドは、 POSITION オプションで 開始 として指定されている列から開始する必要があります。 : 終了は、使用する場合は無視されます。

VARGRAPHIC 入力データにシフト文字が含まれていてはなりません。

STRIP
データの先頭、末尾、または両端から、LOAD がゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。 LOAD は、VARGRAPHIC の長さフィールドをストリップされたデータの 長さ (DBCS 文字数) に合わせます。

LOAD は、文字コード変換または埋め込みを行う前に、除去操作を適用します。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD がブランクまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
X'strip-char'
LOAD がデータから除去する 2 バイト文字の 16 進形式を指定します。 この値は X'hhhh' の形式 (hhhh は 4 個の 16 進文字) で 指定してください。

入力コード化スキームでその文字を指定する必要があります。

TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。 LOAD は、CCSID 変換の後で、切り捨て操作を行います。

LOAD は、切り捨てを文字境界で行います。 2 バイト文字が分割されることはありません。

変更の開始CCSID 1200変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1200 (UTF-16) であることを指定します。 データ変換が発生した場合、CCSID 1200 は入力データに使用されます。変更の終わり
SMALLINT
2 バイトの 2 進数を指定します。 負数は、2 の補数表記となります。
INTEGER
4 バイトの 2 進数を指定します。 負数は、2 の補数表記となります。 INT を指定することもできます。
INTEGER EXTERNAL(長さ
数値を表す文字のストリング。 形式は、SQL 数値定数の形式です。 length を指定しない 場合、ストリングの長さは、POSITION 指定から決められます。 length または POSITION を指定しない場合、LOAD は INTEGER のデフォルトの長さ (4 バイト) を使用します。 INT EXTERNAL を指定することもできます。
BIGINT
8 バイトの 2 進数を指定します。 負数は、2 の補数表記となります。
BINARY(長さ
固定長のバイナリー・ストリングを指定します。 length を指定しない 場合、ストリングの長さは、POSITION 指定から決められます。 length または POSITION が 指定されていない場合、LOAD は BINARY のデフォルト長 (表内の列の長さで決まる) を使用します。 X'strip-char' のデフォルトは 16 進 ゼロ (X'00') です。 このフィールドには、データ変換は適用されません。
STRIP
データの先頭、末尾、または両端から、LOAD が 2 進ゼロを除去 (デフォルト) または 指定された X'strip-char' を 除去することを指定します。 LOAD は、BINARY フィールドに対する 埋め込みを行って、列の残りの部分を埋めます。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD が 2 進ゼロまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
LEADING
データの先頭から、LOAD がブランクまたは指定された除去文字を除去することを指定します。
X'strip-char'
LOAD がデータから除去する 1 バイト文字または 2 バイト文字を 16 進形式で指定 します。 1 バイト文字の場合は、この値を X'hh' の形式 (hh は 2 個の 16 進文字) で 指定してください。
TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。

LOAD は、切り捨てを文字境界で行います。

VARBINARY
可変長のバイナリー・ストリングを指定します。 バイト数で表された長さが、データの前にある 2 バイト の 2 進数フィールドに指定されていなければなりません (この 2 バイトのフィールド自体は 長さには含まれません)。 長さフィールドは、POSITION オプションの start で指定された桁から 始まる必要があります。 :end は指定しても、無視されます。 X'strip-char' のデフォルトは 16 進 ゼロ (X'00') です。 このフィールドには、データ変換は適用されません。
STRIP
データの先頭、末尾、または両端から、LOAD が 2 進ゼロを除去 (デフォルト) または指定された文字を 除去することを指定します。 LOAD は、VARBINARY フィールドに対する 埋め込みを行って、列の残りの部分を埋めます。

STRIP オプションの効果は、SQL STRIP スカラー関数の場合と同じです。

両方
データの先頭および末尾から、LOAD が 2 進ゼロまたは指定された除去文字を 除去することを指定します。
TRAILING
データの末尾から、LOAD が 2 進ゼロまたは指定された除去文字を 除去することを指定します。
LEADING
データの先頭から、LOAD が 2 進ゼロまたは指定された除去文字を 除去することを指定します。
X'strip-char'
LOAD がデータから除去する 1 バイト文字を 16 進形式で指定 します。 1 バイト文字の場合は、この値を X'hh' の形式 (hh は 2 個の 16 進文字) で 指定してください。
TRUNCATE
入力文字ストリングがターゲット列に収まらない場合に LOAD がそのストリングを右側から 切り捨てることを指示します。

LOAD は、切り捨てを文字境界で行います。

DECIMAL PACKED
形式 ddd...ds の数を指定します。 ここで、d は 4 ビットで表される 10 進数、s は 4 ビット の符号の値です。 正符号 (+) は A、 C、 E、または F で表され、負符号 (-) は B または D によって表されます。 dsの最大数は、 SQL 定義で許可されている最大桁数と同じです。 また、DECIMAL、DEC、または DEC PACKED を指定することもできます。
DECIMAL ZONED
形式 znznzn...z/sn の数を指定します。 ここで、zn、および s は 以下の値を持っています。
n
バイトの右側 4 バイトで表される 10 進数字 (数値ビット と 呼ばれます)
Z
その数字のゾーン。左側の 4 ビットで表されます。
s
10 進数オペランドの右端のバイト。s は、ゾーンもしくは その数字の符号の値として扱われます。
正符号 (+) は A、 C、 E、または F で表され、負符号 (-) は B または D によって表されます。 znの最大数は、 SQL 定義で許可されている最大桁数として同じです。 DEC ZONED を指定することもできます。
DECIMAL EXTERNAL(長さ、縮尺 )
数値を表す文字のストリングを指定します。 形式は、SQL 数値定数の形式です。
長さ
入力フィールドの全長 (バイト)。 length を指定しない 場合は、入力フィールドの長さは、POSITION 指定から決められ ます。 length または POSITION を指定しない場合、LOAD は DECIMAL EXTERNAL のデフォルトの長さ (10 進数の精度で決まる) を使用し ます。
規模
小数点の右側の桁数を指定します。 scale は、0 以上の整数でなければならず、length より 大きくても構いません。 デフォルト値は 0 です。

scalelength よりも大きいか、 与えられた位取りが 指定されたスケール よりも小さい場合は、 入力された数値は小数点の位置に達するまで、左側がゼロで埋められます。 scale がターゲットの scale よりも大きい場合は、 ソースのスケールは暗黙の小数点位を見つけます。 ターゲットのスケールより大きい小数桁は、すべて切り捨てられます。 スケールが指定され、ターゲット列が短整数または整数のデータ・タイプである場合、 入力された数の小数部は無視されます。 小数点がある場合、その位置は scale のフィールド仕様をオーバーライドします。

FLOAT(長さ
64 ビットの浮動小数点数または 32 ビットの浮動小数点数のいずれかを指定し ます。 length が 1 と 21 の間 (両端を含む) の場合、数値は S390 (HFP) 形式の 32 ビットです。
ビット 0
符号 (正は 0、負は 1) を表す
ビット 1-7
指数を表す
ビット 8-31
小数部を表す

length が 1 と 24 の間 (両端を含む) の場合、数値 は IEEE (BFP) 形式の 32 ビットです。

ビット 0
符号 (正は 0、負は 1) を表す
ビット 1-8
指数を表す
ビット 9-31
小数部を表す

length を指定しないか、または 22 と 53 の間 (両端を含む) の場合は、 数値は S390 (HFP) 形式の 64 ビットです。

ビット 0
符号 (正は 0、負は 1) を表す
ビット 1-7
指数を表す
ビット 8-63
小数部を表す

length を指定しないか、または 25 と 53 の間 (両端を含む) の場合は、 数値は IEEE (BFP) 形式の 64 ビットです。

ビット 0
符号 (正は 0、負は 1) を表す
ビット 1-11
指数を表す
ビット 12-63
小数部を表す
また、単精度浮動小数点数には REAL、倍精度浮動小数点数には DOUBLE PRECISION を 指定することもできます。
FLOAT EXTERNAL(長さ
数値を表す文字のストリングを指定します。 形式は、SQL 浮動小数点定数の形式です。

FLOAT(IEEE) または FLOAT(S390) の指定は、この 形式 (文字ストリング) の浮動小数点数には適用されません。

length を指定しない 場合、ストリングの長さは、POSITION 指定から決められます。 length または POSITION を指定しない場合、LOAD は FLOAT のデフォルトの長さ (単精度は 4 バイト、倍精度は 8 バイト) を使用し ます。

変更の開始DATE DATE_P変更の終わり
変更の開始日付のパック 10 進数表記を指定します。 日付の値は、長さが 3 バイトでなければならず、 DATE_P フォーマット (X'YYDDD ' (ここで、 YY が年、 DDD は日、 s が符号) になっていなければなりません ) 。変更の終わり
DATE EXTERNAL
日付の文字ストリング表示を指定します。 長さまたは特定の日付形式を指定できます。
(length)
長さが指定されていない場合は、LOCAL DATA LENGTH インストール・オプションで指定された長さに、 あるいはそれもない場合は、デフォルトの 10 バイトになります。 長さを指定する場合は、8 から 254 バイトの範囲でなければなりません。
日付・フォーマットが指定されていない場合、日付は以下のいずれかの形式にすることができます。 月と日の場合、先行ゼロは省略可能です。 末尾ブランクはあっても構いませんが、 先行ブランクは認められません。
  • dd.mm.yyyy
  • mm/dd/yyyy
  • yyyy-mm-dd
  • インストール時に定義されたローカルフォーマットは、 Db2 インストール時に定義された
変更の開始( 日付形式 )変更の終わり
変更の開始以下の表に示す日付表記形式。
表 4. 日付フォーマットの値
日付フォーマット 形式 長さ
DATE_A yyyy-mm-dd 1 10 バイト
DATE_B 年 月 日 1, 2 8 バイト
DATE_C 年-月-日 1 10 バイト
DATE_D 年月日 1, 2 8 バイト
DATE_E dd-mm- yyyy 1 10 バイト
DATE_F 年 月 日 1, 2 8 バイト
DATE_G yyyy-ddd 1 8 バイト
DATE_H yy-ddd 1, 2 6 バイト
DATE_I mmddyyyy 8 バイト
DATE_J んんんんん 2 6 バイト
DATE_K yyyymmdd 8 バイト
DATE_L 年月日 2 6 バイト
DATE_M DDMMYYYY 8 バイト
DATE_N ddmmyy 2 6 バイト
DATE_O yyyyddd 7 バイト
DATE_P y yddd 2 5 バイト

フィールド仕様で使用されるフィールドに日付形式が指定されている場合、フィールド仕様でも指定された日付形式を使用する必要があります。

注:
  1. 形式に分離文字が含まれている場合、分離文字は 1 バイトの EBCDIC 文字に変換できる任意の 1 バイト文字にすることができます。 ただし、入力ファイルに区切り文字で区切られた形式が含まれている場合は、区切り文字に使用されているものと同じ文字 (区切り文字 COLDEL、CHARDEL、および DECPT など) を指定することはできません。 区切り文字の制限に関する詳細については、 「区切り付きファイルの読み込み」 を参照してください。
  2. 2 桁の年を指定すると、4 桁の年に拡張されます。 2 桁の年が今年の 2 桁に 50 を足した合計より少ない場合は、4 桁の年で現在の世紀が使用されます。 例えば、今年が 2017 年だとします。 2 桁の年が 67 の場合、1967 が使用されます。 しかし、2 桁の年が 66 の場合は、2066 が使用されます。
変更の終わり
TIME EXTERNAL
時刻の文字ストリング表示を指定します。 長さまたは特定の時刻形式を指定することができます。
(length)
長さが指定されていない場合は、LOCAL TIME LENGTH インストール・オプションで指定された長さに、 あるいはそれもない場合は、デフォルトの 8 バイトになります。 長さを指定する場合は、4 から 254 バイトの範囲でなければなりません。
フォーマットが指定されていない場合、時刻は以下のいずれかのフォーマットになります。
  • hh.mm.ss
  • hh:mm AM
  • hh:mm PM
  • hh:mm:ss
  • インストール時に定義されたローカルフォーマットは、 Db2 インストール時に定義された

mm が 00 と等しい場合は、hh:mm AM およ び hh:mm PM の形式の mm の部分を省略することが できます。 例えば、5 PM は有効な時刻であり、5:00 PM の代わりに使用できます。

変更の開始( 時間形式 )変更の終わり
変更の開始以下の表に示す特定の時刻表記形式。
表 5. 時間形式の値
時間形式の 形式 長さ
TIME_A hh.mm.ss 1 8 バイト
TIME_B hh.mm 1 5 バイト
TIME_C hh.mm AM または hh.mm PM 1 8 バイト
TIME_D hhmmss 6 バイト
TIME_E hhmm 4 バイト

フィールド仕様で使用されるフィールドに時刻形式が指定されている場合、フィールド仕様でも指定された時刻形式を使用する必要があります。

注:
  1. 形式に分離文字が含まれている場合、分離文字は 1 バイトの EBCDIC 文字に変換できる任意の 1 バイト文字にすることができます。
変更の終わり
TIMESTAMP EXTERNAL
時刻の文字ストリング表示を指定します。 長さまたは特定のタイム・スタンプ形式を指定することができます。
(length)
length のデフォルトは、26 バイトです。 長さを指定する場合は、19 から 32 バイトの範囲である必要があります。
タイム・スタンプ形式が指定されていない場合、タイム・スタンプは以下のいずれかの形式にすることができます。 nnnnnn マイクロ秒の数値を表し、0 から 12 桁までで指定できます。 タイム・スタンプの月、日、または時間の部分の先行ゼロと、 タイム・スタンプのマイクロ秒の部分の後続ゼロは省略することができます。
  • yyyy-mm-dd-hh.mm.ss
  • yyyy-mm-dd-hh.mm.ss.nnnnnn
  • yyyy-mm-dd hh:mm:ss.nnnnnn
(timestamp-format )
以下の表に示すタイム・スタンプ表記形式。
表 6. タイムスタンプ形式の
タイムスタンプ形式の値 形式 長さ
TIMESTAMP_A yyyy-mm-dd-hh.mm.ss 1 19 バイト
TIMESTAMP_B yyyy-mm-dd-hh.mm.ss.nnnnnn 1 26 バイト
TIMESTAMP_C yyyymmddhhmmss 14 バイト
TIMESTAMP_D yymmddhhmmss 2 12 バイト
TIMESTAMP_E yyyymmddhhmmssnnnnnn 20 バイト
TIMESTAMP_F y ymmddhhmmssnnnnnn 2 18 バイト

フィールド仕様で使用されるフィールドにタイム・スタンプ形式が指定されている場合、フィールド仕様でも指定されたタイム・スタンプ形式を使用する必要があります。

注:
  1. 形式に分離文字が含まれている場合、分離文字は 1 バイトの EBCDIC 文字に変換できる任意の 1 バイト文字にすることができます。
  2. 2 桁の年を指定すると、4 桁の年に拡張されます。 2 桁の年が今年の 2 桁に 50 を足した合計より少ない場合は、4 桁の年で現在の世紀が使用されます。 例えば、今年が 2017 年だとします。 2 桁の年が 67 の場合、1967 が使用されます。 しかし、2 桁の年が 66 の場合は、2066 が使用されます。
TIMESTAMP WITH TIME ZONE EXTERNAL(長さ
タイム・ゾーンを使用するタイム・スタンプの文字ストリング表記を指定します。 length のデフォルトは、33 バイトです。 長さを指定する場合は、26 から 39 バイトの範囲である必要があります。
タイム・ゾーンを使用するタイム・スタンプは、次のいずれの形式でも構いません。 nnnnnn は、秒の小数部の桁数を表し、0 から 12 桁までで指定できます。 タイム・スタンプの月、日、または時間の部分の先行ゼロと、タイム・スタンプの秒の小数部分の後続ゼロは省略できます。
  • yyyy-mm-dd-hh.mm.ss.nnnnnn ±th:tm
  • yyyy-mm-dd-hh.mm.ss.nnnnnn±th:tm
  • yyyy-mm-dd hh:mm:ss.nnnnnn ±th:tm
  • yyyy-mm-dd hh:mm:ss.nnnnnn ±時:分
ROWID
行 ID を指定します。 入力データは、行IDの有効な値でなければなりません。 Db2 変換は行いません。

GENERATED ALWAYS オプションで作成された行 ID 列に対しては、 フィールド仕様は許可されません。

行 ID 列がパーティション・キーの一部である場合、LOAD INTO TABLE PART は認められません。 その代わりに LOAD INTO TABLE を指定してください。

BLOB
BLOB フィールドを指定します。 バイトで表した長さを、データの前の 4 バイト の 2 進数フィールドに指定する必要があり ます。 (この長さには、4 バイト・フィールド自体は含まれていません。) 長さフィールドは、POSITION オプションの start で指定された桁から 始まる必要があります。 :end は指定しても、無視されます。
CLOB
CLOB フィールドを指定します。 バイトで表した長さを、データの前の 4 バイト の 2 進数フィールドに指定する必要があり ます。 (この長さには、4 バイト・フィールド自体は含まれていません。) 長さフィールドは、POSITION オプションの start で指定された桁から 始まる必要があります。 :end は指定しても、無視されます。
MIXED
入力フィールドが、SBCS と DBCS データの混合であることを指定し ます。 MIXED を指定した場合は、CCSID 変換が必要であれば入力データに対して混合 CCSID を使用します。MIXED を指定しない場合は、そのような変換では入力データに対して SBCS CCSID を使用します。
変更の開始CCSID 1208変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1208 (UTF-8) であることを指定します。 データ変換が発生した場合、CCSID 1208 は入力データに使用されます。変更の終わり
DBCLOB
DBCLOB フィールドを指定します。 2 バイト文字で表した長さを、データの前 の 4 バイトの 2 進数フィールドに指定する必要があり ます。 (この長さには、4 バイト・フィールド自体は含まれていません。) 長さフィールドは、POSITION オプションの start で指定された桁から 始まる必要があります。 :end が使用された場合、それは無視される。変更の開始
変更の開始CCSID 1200変更の終わり
変更の開始CLOB 入力ファイル内のデータが CCSID 1200 (UTF-16) であることを指定します。 データ変換が発生した場合、CCSID 1200 は入力データに使用されます。変更の終わり
変更の終わり
DECFLOAT (長さ)
128 ビット 10 進浮動小数点数または 64 ビット 10 進浮動小数点数を 指定します。 長さの値は 16 または 34 のいずれかでなければなりません。 長さ が 16 の場合、数値の形式は 10 進 64 ビット浮動小数点形式です。 長さが 34 の場合、数値の形式は 128 ビット 10 進浮動小数点形式です。 長さが指定されていない場合、数値の形式は 128 ビット 10 進浮動小数点形式です。
DECFLOAT EXTERNAL (長さ)
数値を表す文字のストリングを指定します。 形式は、SQL 数値定数です。 長さが指定されていない場合、 ストリングの長さは POSITION 指定から決められます。 長さまたは POSITION が指定されていない 場合、LOAD は DECFLOAT のデフォルト長さを使用します。
XML
入力フィールド・タイプが XML であることを指定します。 フィールド・タイプ XML は、XML 列にのみ ロードできます。 入力レコードから直接 XML 値をロードする場合、XML を 指定してください。 入力レコードの形式が、区切りなしの場合、実際のデータ値の前に 2 バイト長のフィールドを 指定する必要があります。

BINARYXML ファイル参照変数を使用してロードされる XML 文書がバイナリー XML 形式であることを指定します。

PRESERVE WHITESPACE
XML 列内の空白文字が保持されることを指定します。 デフォルトでは、空白文字は 保持されません。
DEFAULTIF変更の開始 デフォルト条件 変更の終わり
変更の開始

指定された条件が真の場合に、フィールド ( フィールド仕様で識別される ) がデフォルトの列値を使用してロードされることを指定します。

defaultf-condition

評価される条件。 それぞれのフィールドごとに、 1 つの条件のみを指定できます。

この条件の中で、入力データ・レコードと同じ文字セット内にある任意の文字ストリング定数を指定します。 例えば、データが EBCDIC になっている場合は EBCDIC 定数を指定し、 UNICODEにデータが含まれている場合は UNICODE 定数を指定します。 また、 16 進形式を使用して DEFAULTIF 条件をコーディングすることもできます。 例えば、入力データが EBCDIC で、制御ステートメントが UTF-8 の場合、 制御ステートメントでは (1:1)='1' ではなく、(1:1)=X'31' を使用します。

DEFAULTIF を ROWID キーワードと一緒に使用し、条件が満たされると、その列には Db2 が生成する値がロードされます。

XML 列に DEFAULTIF を指定することはできません。

CONV_ERROR

条件が変換エラーであることを指定します。 変換エラーが発生すると、デフォルト値がロードされます。

フィールド名

定数値と比較されるフィールドの名前。 フィールド仕様で定義されているフィールドの名前を指定する必要があります。 フィールド名 が使用される場合、フィールドの開始位置と終了位置は、フィールド仕様の POSITION オプションによって指定されます。

指定するフィールドは、以下のすべての要件を満たしている必要があります。

  • 文字またはグラフィック・ストリングが入っていること。 入力レコードのフィールド内容がストリング定数と比較される際、データ・タイプの変換は行われません。
  • アセンブルされた各入力レコードで、同じオフセットのバイトから始まっていること。 選択フィールドの前に長さフィールドが格納されている可変長ストリングがレコードに含まれている場合は、選択フィールドの開始が常に同じオフセットになるように埋め込みを行う必要があります。

このフィールドと定数は、同じ長さである必要はありません。 同じ長さではない場合、比較する前にいずれか短い方に埋め込みが行われます。 文字とグラフィック・ストリングにはブランクが埋め込まれ ます。 16 進数ストリングにはゼロが埋め込まれます。

このフィールドが VARCHAR フィールドまたは VARGRAPHIC フィールドの場合、 Db2 は、 VARCHAR または VARGRAPHIC フィールドのデータ部分の前の 2 バイトの 2 進数フィールドからフィールドの長さを取ります。

= <>
フィールド( フィールド名または開始 : 終了 と定数(X ' バイト文字列 '、' 文字列 '、 G ' グラフィック文字列 '、または N' グラフィック文字列 ')。
=
等しい
<>
等しくない
(開始:終了)

アセンブルされたロード・レコード内の列番号を識別し、 DEFAULTIF 条件での比較に使用します。 レコードの最初の列は列 1です。 2 つの数値は、ロード・レコード内の選択フィールドの開始桁と終了桁を示します。

終了 が使用されていない場合、フィールドは定数として同じ長さであると見なされます。

Xバイト列
16 進文字のストリング。 例えば、次の条件は、レコードが列33〜34に値X ' FFFF 'を持つ場合には、デフォルト値をロードすることを指定します。
(33:34) = X'FFFF'
文字列
文字のストリング。 例えば、以下の節は、フィールド DEPTNO の値が D11 の場合にデフォルト値がロードされることを指定します。
DEPTNO = 'D11'

フィールドで特定の外部形式の日付、時刻、またはタイム・スタンプを使用する場合、フィールド仕様では、指定された形式に対応する文字ストリングを使用する必要があります。

G'graphic-string '
2 バイト文字のストリング。 例えば、次の文節は、レコードが 33 桁目から 36 桁目に指定された値を持っている場合にデフォルトがロードされることを指定しています。
(33:36) = G'<**>'
この例では、 < はシフトアウト文字、 * は 2 バイト文字で、及び > はシフトイン文字です。

入力データの最初あるいは最後のバイトがシフトアウト文字の場合は、 比較の際に無視されます。 G は大文字で指定します。

N'graphic-string '
2 バイト文字のストリング。 N と G は、グラフィック・ストリング定数を指定する上では同じ意味 です。 N は大文字で指定してください。
変更の終わり
NULLIF 分野選択基準
DB2 列に NULL がロードされる 条件を記述します。 field-selection-criterionの下で説明するのとして同じなオプションでfield-selection-criterionを書くことができます。 NULLIF フィールドの内容が、与えられた文字定数と一致した場合 は、field-specification で指定されたフィールドに NULL がロードされます。

NULLIF フィールドが VARCHAR または VARGRAPHIC フィールドの名前に よって定義されている場合、DB2 は、 その VARCHAR または VARGRAPHIC フィールドのデータ部の前にある 2 バイトの 2 進数フィールドから フィールドの長さを取ります。

BLOBF、CLOBF、または DBCLOBF フィールドに NULL 値をロードするには、NULL の入力ファイル名を使用します。

文字ストリング定数は、入力 データ・レコードに一致する文字セットで、LOAD ユーティリティー制御ステートメントに指定される必要があります。 データが EBCDIC の場合は LOAD 制御ステートメントに EBCDIC 定数を 指定し、データが UNICODE の場合は UNICODE 定数を指定してください。 16 進形式を 使用して NULLIF 条件をコーディングすることもできます。 例えば、入力データが EBCDIC で、制御ステートメントが UTF-8 の場合、 制御ステートメントでは (1:1)='1' ではなく、(1:1)=X'31' を使用します。

出力表のフィールドに NULL がロードされても、入力レコードの対応するフィールドの 形式や機能には変更はありません。 入力フィールドは、それ以降もフィールド選択基準で使用できます。 例えば、以下のフィールド仕様を持つ LOAD ステートメントを想定します。

(FIELD1 POSITION(*) CHAR(4)
 FIELD2 POSITION(*) CHAR(3) NULLIF(FIELD1='SKIP')
 FIELD3 POSITION(*) CHAR(5))

また、LOAD が次のソース・レコードの処理を行うものとします。

SKIP   FLD03

この例では、レコードは以下のようにロードされます。

FIELD1
値 'SKIP' が入ります。
FIELD2
NULL です (ソース・レコードのように ' ' ではありません)。
FIELD3
値 'FLD03' が入ります。

行 ID 列は NULL であってはならないため、NULLIF パラメーターを ROWID キーワード と共に使用することはできません。

フィールド選択基準

DB2 列にそのデフォルト値または NULL が ロードされる条件を記述します。