09/05/26 22:19:35
>>185
え、ちがうの??
○楽観的ロック:
・画面表示(HTML 表示時)に、そのレコードの version_id なり最終更新日時を hidden で持たしておく
・HTML にデータを入力して submit 後、サーバサイドに渡ってきた version_id や 最終更新日時 を where 句にして
select * from HOGE where 受注番号 = **** and versin_id = {画面から渡ってきたもの} for update
して、レコードが取得できればそのまま update 文で更新
レコードが取得できなければ、version_id がインクリメントされていることが考えられるので、
画面に「他のユーザがすでに更新しました。データを再検索してください」
こんな感じ
○悲観的ロック:
ある画面を開いた時点で、その画面に排他制御をかけ、誰も入れなくする
(業務仕様上、その画面が編集するテーブルは、その画面でしか更新できないことが条件)
だとおもっていたよ。
誰か添削してくれ