【发布时间】:2017-06-12 17:44:55
【问题描述】:
我查看了所有的隔离类型。
但我找不到我想要的模式。
在事务期间可以被其他事务读取。 但是,它不会添加更新和删除数据。
例如(伪代码):
create table abc
(id uniqueidentifier primary key)
Create proc procMain
trans isolation level **??????**
insert abc (id) values (newid())
Waiting 10 minute
commit
Create proc procREAD
select * from abc
Create proc procAdd
insert abc (id) values (newid())
create proc procUpdate
update abc id = newid()
create proc procDelete
delete from abc
now;
exec procMain (abc table access read only and for other access: LOCKED)
(waiting...)
exec procRead (OK) (Readable)
exec procAdd (NO - never) (locked)
exec procUpdate (NO - never) (locked)
exec procDelete (NO - never) (locked)
谢谢...
有这样的隔离级别吗? (事务隔离级别?)
【问题讨论】:
-
没有禁止您更新或删除数据的隔离级别。这不是隔离级别应该做的。
-
其实我想选择序列化级别。但是整张桌子都被锁定了。是否有基于行的序列化隔离级别?
标签: sql-server isolation-level transaction-isolation