フィールドの連鎖更新

広告

リレーションシップの設定の1つでフィールドの連鎖更新について確認します。

参照整合性が設定されている場合、一側テーブルに含まれるレコードが更新されると多側テーブルのフィールドに登録されているデータに不整合が発生する場合があります。例えば一側テーブルである「社員テーブル」のレコードの中のリレーションシップが設定されたフィールドのデータが更新された時、多側テーブルのレコードの中で更新前のデータが登録されていたレコードは一側テーブルに存在しないデータが登録されていることになってしまいます。

ではリレーションシップが設定されている一側テーブルのレコードを更新してみます。

フィールドの連鎖更新

フィールドの連鎖更新

すると次のようなエラーが表示されます。

フィールドの連鎖更新

ここでリレーションシップの設定項目の1つである「フィールドの連鎖更新」が設定されていると、一側テーブルのレコードを更新するとに、多側テーブルのレコードの中で該当のデータが登録されているレコードのデータを合わせて更新することが出来ます。

フィールドの連鎖更新の設定

それではフィールドの連鎖更新を設定してみます。リレーションシップの詳細設定画面を表示して下さい。(リレーションシップの詳細画面の表示方法は『リレーションシップ設定画面の表示』を参照して下さい)。

参照性合成

画面下部に「フィールドの連鎖更新」と書かれたチェックボックスがありますので、チェックを行って下さい。(「参照整合性」にチェックが入っていないとチェックが行えません)。

参照性合成

「OK」ボタンをクリックすると設定は完了です。

実際に更新を行う

それでは改めてデータの更新を行ってみます。変更前のテーブルは次のようになっています。

フィールドの連鎖更新

フィールドの連鎖更新

では一側テーブルである「社員テーブル」の該当フィールドの値を変更してみます。

フィールドの連鎖更新

今度はエラーが発生せず更新が行えました。では多側テーブルである「顧客情報テーブル」を確認してみます。

フィールドの連鎖更新

一側テーブルで更新されたデータが含まれていたレコードは、該当のフィールドの値が自動的に変更されています。

( Written by Tatsuo Ikura )