4D v12.4

ARRAY TO SELECTION

ホーム

 
4D v12.4
ARRAY TO SELECTION

 

ARRAY TO SELECTION 


 

ARRAY TO SELECTION ( array ; aField {; array2 ; aField2 ; ... ; arrayN ; aFieldN} ) 
引数   説明
array  配列 in コピー元の配列
aField  フィールド in 配列データを受け取るフィールド

説明   

ARRAY TO SELECTION コマンドは、1つ以上の配列をレコードのセレクションにコピーします。すべてのフィールドは同一テーブルのものでなければなりません。

コマンド呼び出し時にセレクションが存在する場合、配列の並び順とレコードの並び順に基づき、配列要素はレコードに書き込まれます。要素数がレコード数よりも多い場合、新しいレコードを作成します。レコードは、既存でも新規でも、自動的に保存されます。

すべての配列は同じ要素数でなければなりません。配列のサイズが異なる場合、シンタックスエラーが生成されます。

このコマンドは、SELECTION TO ARRAY コマンドとは逆の動作を行います。しかし、ARRAY TO SELECTION コマンドは、たとえ自動リレートが設定されていても、リレートテーブルを含む他のテーブルのフィールドを使用することはできません。

警告: ARRAY TO SELECTION コマンドは、既存のレコードの情報を上書きします。十分に注意して使用してください。ARRAY TO SELECTIONコマンド実行中、レコードが他のプロセスによりロックされていると、そのレコードは更新されません。ロックされたレコードは、LockedSetというプロセスセットに入れられます。ARRAY TO SELECTIONコマンド実行後に、LockedSetセットをテストして、ロックされていたレコードの存在を知ることができます。

4D Server: このコマンドは4D Server用に最適化されています。配列はクライアントマシンからサーバへ渡され、レコードの修正や追加はサーバ上で実行されます。この処理は同期的に 行われるため、クライアントマシンは処理が正常に終了するまで待機しなくてはなりません。マルチユーザ・マルチプロセス環境では、ロックされたレコードは 上書きされません。

例題  

以下の例は、asLastNamesasCompaniesの2つの配列のデータを[People]テーブルにコピーします。配列asLastNamesのデータは[People]Last Nameフィールドに、配列asCompaniesのデータは[People]Companyフィールドに、それぞれ書き込まれます:

 ARRAY TO SELECTION(asLastNames;[People]Last Name;asCompanies;[People]Company)

 
プロパティ 

プロダクト: 4D
テーマ: 配列
番号: 261

このコマンドはカレントセレクションを変更しますリモートモードでは動作が異なります。

 
履歴 

変更: 4D v11 SQL

 
参照 

SELECTION TO ARRAY
システム変数