質問 Ohata Yuji · 2022年6月13日 トランザクション中に任意のテーブル更新だけ先にCommitを確定させたい。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在テーブルを用いてシステムの設計を行っておりますが、トランザクション中に、そのトランザクションの影響を受けずにテーブルを更新するような仕組みが欲しいと考えております。(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。) 例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。そのような回避策がないかをご教示いただきたいです。 用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。このAPIは複数プロセスから呼ばれることがありますが、1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる(1000行以上行ロックをしたときのIRISの仕様)ことで、他プロセスがAPIを利用できなくなるなどの影響が出ています。今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。 #InterSystems IRIS 0 4 0 37