FireDAC.Stan.Option.TFDUpdateOptions.UpdateNonBaseFields
Delphi
property UpdateNonBaseFields: Boolean read GetUpdateNonBaseFields write SetUpdateNonBaseFields stored IsUNFS default False;
C++
__property bool UpdateNonBaseFields = {read=GetUpdateNonBaseFields, write=SetUpdateNonBaseFields, stored=IsUNFS, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Stan.Option.pas FireDAC.Stan.Option.hpp |
FireDAC.Stan.Option | TFDUpdateOptions |
説明
結合された非基底テーブルからのフィールドが、UPDATE や INSERT コマンドに含まれるかどうかを制御します。
UpdateNonBaseFields を使用すると、非基底テーブル フィールドの UPDATE や INSERT コマンドへの包含を、有効化(True)または無効化(False)します。デフォルト値は False です。
UpdateNonBaseFields は、データセットを準備または開く前に、指定されなければなりません。
このオプションは、元の SQL コマンドが、複数のテーブルの結合を伴った SELECT の場合に、有用です。最初のもっとも左にあるテーブルが、基底テーブルです。どの列が基底で、どれが基底ではないかは、SELECT リスト メタデータ - 列のオリジナル テーブル名、列オリジナル名 - を使用して決定されます。Oracle および Advantage の例外を持つ大抵の DBMS は、この情報を返します。DBMS がこの情報を返すよう設定する方法の詳細については、「更新のポスト処理のオーバーライド」を参照してください。
メモ: 次の SELECT の場合で、すべてのフィールドが非基底フィールドになり得ます:
- セット演算子と - UNION、INTERSECT、MINUS、など。
- グループ化で。
大抵の場合、更新は、基底テーブル列に対してのみ許可され、他の「ルックアップ」テーブルに対しては、禁止されなければなりません。それを行うには、UpdateNonBaseFields を False に設定します。アプリケーションが、非基底の列を更新 SQL コマンドから排除する必要があるが、それらを編集可能にしたい場合、CheckReadOnly を False に設定します。