FireDAC.Comp.Client.TFDUpdateSQL.InsertSQL
Delphi
property InsertSQL: TStrings index 0 read GetSQL write SetSQL;
C++
__property System::Classes::TStrings* InsertSQL = {read=GetSQL, write=SetSQL, index=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDUpdateSQL |
説明
レコードの挿入を適用した際に使用される SQL 文を示します。
InsertSQL を SQL 文に設定すると、レコードの挿入をデータベースに適用した際に使用することができます。
新しいフィールド値をコマンドへ送信するには、:NEW_<field name>
または :<field name>
パラメータ名を使用します。 文は、さらにパラメータやマクロを使用することができます。 パラメータやマクロのコレクションへのアクセスを取得するには、Commands プロパティを使用します。
文が新しいレコード フィールド値(トリガ内で指定または変更される)をパラメータを使用してフェッチした場合、:NEW_<field name>
または :<field name>
パラメータ名を使用して、パラメータ値をレコード内に含め、パラメータ型を ptOutput
に設定します。 文がレコード セットを生成する場合、そのフィールドはデータセット フィールドと同じ名前を持っていなければなりません。
INSERT
文を設計時に作成するには、UpdateSQL エディタを使用します。 そのためには、TFDUpdateSQL コンポーネントをダブルクリックしてください。 また、ストアド プロシージャ呼び出しや、その他の SQL コマンドを使用して、挿入を適用することもできます。
コマンド テキストにおいて、マクロや補助的なパラメータを使用する方法の詳細については、Commands プロパティを参照してください。
例
// SQL Server サンプル
FDUpdateSQL1.InsertSQL := 'INSERT INTO [Shippers] (COMPANYNAME, PHONE) ' +
'VALUES (:NEW_COMPANYNAME, :NEW_PHONE); SELECT SCOPE_IDENTITY() AS SHIPPERID';
// Oracle サンプル
FDUpdateSQL1.InsertSQL := 'INSERT INTO ADDEMO."Shippers" (COMPANYNAME, PHONE) ' +
'VALUES (:NEW_COMPANYNAME, :NEW_PHONE) RETURNING SHIPPERID INTO :NEW_SHIPPERID';
FDUpdateSQL1.Commands[arInsert].ParamByName('NEW_SHIPPERID').ParamType := ptOutput;