--------------------创建账户表---------------------
CREATE TABLE BankAccount
(
ID INT IDENTITY(1,1) PRIMARY KEY,
Account INT,
Remark NVARCHAR(4000)
)
--------------------增加记录---------------------
DECLARE @i int=0;
WHILE(@i<1000)
BEGIN
INSERT INTO BankAccount(Account,Remark)VALUES(1000,'无转账')
set @i=@i+1;
END
开启事务,修改表中数据
--开启事务
BEGIN TRAN
UPDATE BankAccount
SET Account=5000
WHERE ID=20
COMMIT --ROLLBACK
—读取 修改但未提交的数据即包含脏数据,ID=20的账户是5000,若此时Update事务回滚,那么这次提取的数据是不准确的。
SELECT * FROM BankAccount WITH (READUNCOMMITTED)
–只读取已提交数据 数据库默认事务隔离级别
SELECT * FROM BankAccount WITH (READCOMMITTED)