わざとトランザクションの更新ロックをかける
検証用にSQL Serverでわざとロックをかけた状態を作る
以下のようなテーブルがある
table:users
id name address
int nvarchar(50) nvarchar(50)
データはこう
code:sql
SELECT * FROM users;
table:retult
id name address
1 AKI TOKYO
セッションを2つ用意する
セッションA
ターミナルなどから実行したらそれは閉じない
code:sql
BEGIN TRANSACTION;
UPDATE users set address = 'KAGOSHIMA' WHERE id = 1;
セッションB
UPDATEを行う
code:sql
BEGIN TRANSACTION;
UPDATE users set address = 'HOKKAIDO' WHERE id = 1;
これでusersテーブルがロックされた状態になる