OracleとSQLServerのロック

どちらも「READ COMMITTED」がデフォルトとなっている。
ただ、SQL Serverには「READ_COMMITTED_SNAPSHOT」のオプションがあり、その値によってOracleと挙動が違う。
※READ COMMITTED・・・コミットされてないデータは読み取れない


「READ_COMMITTED_SNAPSHOT」オプション
 OFF→参照する行が他トランザクションで更新中であれば、コミットまで待ちが発生する。デフォルトはOFF。
 ON→待ちは発生しない(読取一貫性をが付与された状態)。Oracleはこちらの動作となる。


READ_COMMITTED_SNAPSHOT=ONとすればOrcaleとロックが似たようになる(厳密には違うかもしれない)


バージョンによって上記は違いがあるかもしれないので、都度確認が必要。