我想防止表中的删除、插入、更新和选择并发,因此我尝试SERIALIZABLE在转换之前使用该表,但这并没有为其他进程锁定该表!如何修复它?
我尝试过什么:
1-创建表_1
--Create Sample Table
CREATE TABLE [dbo].[Table_1](
[Number] [bigint] NOT NULL,
[Price] [bigint] NULL,
CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
(
[Number] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT [dbo].[Table_1] ([Number], [Price]) VALUES (1, 1000)
GO
INSERT [dbo].[Table_1] ([Number], [Price]) VALUES (2, 3000)
GO
INSERT [dbo].[Table_1] ([Number], [Price]) VALUES (3, 8000)
GO
Run Code Online (Sandbox Code Playgroud)
2- 查询有延迟的会话一:
--SESSION 1
SET TRANSACTION ISOLATION LEVEL …Run Code Online (Sandbox Code Playgroud) sql-server-2008 sql-server query concurrency sql-server-2008-r2