「データ更新を一括実行する」で「登録されたIDを次のセルにセットする」にはどのようにすればよいでしょうか。
2019-10-31 14:22
「データ更新を一括実行する」アクションの中で「テーブルに登録する」アクションを用いて、3000行程度のデータを登録しています。
その場合、「登録されたIDを次のセルにセットする」が指定しているセルに設定されません。
ちなみに、「データ更新を一括実行する」アクションを外すと、「登録されたIDを次のセルにセットする」が指定しているセルに設定されます。
「データ更新を一括実行する」アクションを外すと、データー登録処理が遅すぎて使い物になりません。
高速処理が可能で、データ登録された項目のIDを指定したセルに設定できる、アクションの組み合わせはないでしょうか。
ご教授いただければ幸いです。
回答を投稿するにはログインが必要です。
こんにちは。
「データ更新を一括実行する」アクションは、トランザクションの発生からコミットまでやってくれますが、トランザクション中(コミット前)のデータをREADできない仕様は仕方ないと思います。
CELFテーブルのIDはキーとして使用することはできますが、CELFが勝手に割り当てるため、必ずしも使い勝手の良いものではありません。
IDを登録・更新のキーとして使うのを諦めるなら、必要に応じてキーとなる項目(XXコード、XX番号等)を設定するわけですが、
CELFではRDBMSレベルで管理できるユニークキーを設定できないので、キーが常にユニークであるよう開発者が管理しなくてはなりません。
面倒ですが仕方ありません。
対象のテーブルに更新のキーとなる項目が無いのなら、キー項目を追加するのが良策と思います。
「データ更新を一括実行する」アクションは、トランザクションの発生からコミットまでやってくれますが、トランザクション中(コミット前)のデータをREADできない仕様は仕方ないと思います。
CELFテーブルのIDはキーとして使用することはできますが、CELFが勝手に割り当てるため、必ずしも使い勝手の良いものではありません。
IDを登録・更新のキーとして使うのを諦めるなら、必要に応じてキーとなる項目(XXコード、XX番号等)を設定するわけですが、
CELFではRDBMSレベルで管理できるユニークキーを設定できないので、キーが常にユニークであるよう開発者が管理しなくてはなりません。
面倒ですが仕方ありません。
対象のテーブルに更新のキーとなる項目が無いのなら、キー項目を追加するのが良策と思います。
新日本コンピュータマネジメント株式会社様
ご回答ありがとうございます。
データ登録アクションとは別にIDのみ取得するアクションを別に用意して対処しました。
ご回答ありがとうございます。
データ登録アクションとは別にIDのみ取得するアクションを別に用意して対処しました。

こんにちは。
「高速処理」になるかのお答えはできないのですが、「登録されたIDを次のセルにセットする」で値が取れないという事ですが、
「データ更新を一括実行する」の「?」に記述がありますが、順不同で処理されるとありまして、最後に纏めて実行している様です。
その為、登録されたIDを使った後続の「データ登録・更新」はできない様です。
IDがどうしても必要という事であれば、ID取得する「データ登録」だけを「データ更新を一括実行する」の外(前)で実行した上で、後続処理を行う事になります。
全てのデータ登録をトランザクションにて一括処理したい場合は、
テーブルのIDを使わずに、ユニークIDを「データ更新を一括実行する」の前処理で実行してセルにセットした上で、「データ更新を一括実行する」を行う方法がよろしいかと思われます。
「高速処理」になるかのお答えはできないのですが、「登録されたIDを次のセルにセットする」で値が取れないという事ですが、
「データ更新を一括実行する」の「?」に記述がありますが、順不同で処理されるとありまして、最後に纏めて実行している様です。
その為、登録されたIDを使った後続の「データ登録・更新」はできない様です。
IDがどうしても必要という事であれば、ID取得する「データ登録」だけを「データ更新を一括実行する」の外(前)で実行した上で、後続処理を行う事になります。
全てのデータ登録をトランザクションにて一括処理したい場合は、
テーブルのIDを使わずに、ユニークIDを「データ更新を一括実行する」の前処理で実行してセルにセットした上で、「データ更新を一括実行する」を行う方法がよろしいかと思われます。