Bde.DBTables.TBatchMove.KeyViolCount
Delphi
property KeyViolCount: Longint read FKeyViolCount;
C++
__property System::LongInt KeyViolCount = {read=FKeyViolCount, nodefault};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | TBatchMove |
説明
整合性(またはキー)違反のために Destination に対して置き換え,追加,または削除が行えなかったレコードの数を報告します。
KeyViolCount プロパティは,整合性(またはキー)違反のために Destination テーブルに適用できない Source テーブルのレコード数を知ることができます。Source テーブルから違反したレコードのテーブルを取得するには,KeyViolTableName を指定します。
キー違反は,主キーを持つテーブルにレコードを追加したときに発生します。主キーを持つテーブルでは,すべてのキー設定項目において 2 つのレコードが同じ値をとることはできません。追加するレコードが,すべてのキー設定項目においてデスティネーションテーブルのレコードと同じ値を持つ場合,レコードは追加できません。
整合性違反は,参照の整合性を定義しているテーブルでレコードを削除,追加,または更新すると発生します。参照の整合性の仕様では,1 つのテーブルの各項目が,別のテーブルの特定の項目に存在する値を持つ必要があります。追加するレコードが参照の整合性の制限に適合しない場合,レコードは追加できません。レコードを削除すると参照の整合性の制限が厳しくなり,これを参照する別のテーブルがその条件を満たせなくなる場合はそのレコードは削除できません。
メモ: AbortOnKeyViol プロパティが true の場合,最初の違反でバッチ処理が終了するため,KeyViolCount が 1 を超えることはありません。