File Manager/Db2 編集セッションでデータを変更するときの Db2 関連の考慮事項
- END が押されて編集セッションが終了がする。
- CANCEL が押されて編集セッションが終了する。
- File Manager/Db2 SAVE 基本コマンドの一部として、Db2® コミット点が発行される。
- 正常に行われた変更の数が、「Editor Options (6 of 8) (編集オプション (8 の 6))」パネルで指定された「Auto-commit count (自動コミット・カウント)」値に達したため、Db2® コミット点が自動的に発行される。
File Manager/Db2 編集セッション内で、データに対して複数の変更を加えることができます。これらの変更は、検証のために、 SAVE 基本コマンドで Db2® に送信することができます。Db2® コミット点が発行されない限りいつでも、編集セッションの開始時点でのデータの状態まで、変更をバックアウトする (ロールバックする) ことができます。これとは異なり、データ・セットの編集では通常、変更が保管されると前のバージョンのデータに戻ることができなくなります。
File Manager/Db2 編集セッションで行われた変更は、一度に 1 行ずつ処理されます。これとは異なり、データ・セットの編集では通常、データが保管されるときにすべての変更が同時にデータ・セットに書き込まれ、既存のデータ・セットが新しいデータ・セットと完全に置き換えられます。
Db2® オブジェクトのデータに対する変更は、Db2® が変更を受け入れる前に、Db2® によって検証されます。これとは異なり、データ・セットの変更では通常、データの検証は行われず、SAVE または END 基本コマンドを発行すると、すべての保留中の変更が保管されます。
- 列のデータ・タイプに対して、不適切な値。例えば、数値列に非数値データが入力されたり、数値列に範囲外の数値データが入力された場合です。
- Db2® オブジェクトに適用される検査制約に対する違反。例えば、人の性別の保管に使用するために CHAR(1) として定義されている列が、「M」または「F」の値だけを受け入れるように制約されていることがあります。
- Db2® オブジェクトに適用される参照整合性規則に対する違反。例えば、別の表に従属行がある基本キーを削除しようとしたときに、制約の DELETE 規則が RESTRICT である場合などです。
- Db2® オブジェクトに定義されている固有索引に対する重複を挿入しようとする試み。
- 明示的な SAVE 基本コマンドを発行する。
- 他に保留中の変更がないときに、Enter キーを押す (自動保管機能)。(「「Editor Options (6 of 8) (編集オプション (8 の 1))」パネル」の「Save data (データの保管)」オプションを参照してください。)
- END キー (通常は PF3) を押して、編集セッションを終了する。(File Manager/Db2 エディター・セッションの終了を参照してください。)
SAVE 基本コマンドを発行すると、行われた保留中の変更が一度に 1 行ずつ処理されます。変更ごとに、単一の INSERT、UPDATE、または DELETE SQL ステートメントが生成されます。変更が失敗した場合、FM/Db2 は編集セッションで行にエラーのマークを付けます。Db2® に対するデータの変更を完了 (コミット) する前に、エラーを訂正する必要があります。
「Editor Options (6 of 8) (編集オプション (8 の 6))」パネルで指定される「Auto-commit count (自動コミット・カウント)」に、ゼロ以外の値が指定された場合、FM/Db2 は、SAVE 処理中に Db2® コミット点を自動的に発行する場合があります。指定数の正常に行われた変更が存在している場合は常に、このようなコミット点が発行されます。SAVE 処理時に複数のコミット点が発行される可能性があります。他の行の処理時にエラーが検出されるかどうかに関係なく、コミット点は発行されます。
「Commit when save issued (SAVE を出すときにコミット)」および 「Commit when no save errors (保管エラーがないときにコミット)」オプションの設定によって、SAVE 処理の最後に、FM/Db2 が明示的な Db2® コミットを発行することもあります。(「「Editor Options (6 of 8) (編集オプション (8 の 1))」パネル」を参照。)
使用上の注意: 制約の対象になっている Db2® オブジェクトを処理するとき、行われた変更の検証を頻繁に行うと、エディター・セッションの最後 (PF3 を押したとき)で失敗するのを防ぐことができます。編集セッションで SAVE コマンドを繰り返し発行して、行ったばかりの変更を検証でき、また、編集セッション全体をいつでも取り消すことができます。Db2® コミット点を発行するまでは、作業単位全体をロールバックできることに注意してください。「通常モード」では、SAVE 基本コマンドを発行したときに変更を自動コミットするオプションもあります。このオプションは、「大規模モード」では使用できません。
関連する参照先