使用事务安全地更改数据
无论何时更改数据,都可以在数据操作语言(DML)命令中将更改包装在事务中。DML 包括 UPDATE
,TRUNCATE
,INSERT
和 DELETE
。你可以确保更改正确数据的方法之一是使用事务。
DML 更改将锁定受影响的行。当你开始事务时,你必须结束事务,否则 DML 中所有正在更改的对象将由开始事务的人保持锁定状态。你可以使用 ROLLBACK
或 COMMIT
结束事务。ROLLBACK
将事务中的所有内容返回到其原始状态。COMMIT
将数据置于最终状态,在没有其他 DML 语句的情况下,你无法撤消更改。
例:
--Create a test table
USE [your database]
GO
CREATE TABLE test_transaction (column_1 varchar(10))
GO
INSERT INTO
dbo.test_transaction
( column_1 )
VALUES
( 'a' )
BEGIN TRANSACTION --This is the beginning of your transaction
UPDATE dbo.test_transaction
SET column_1 = 'B'
OUTPUT INSERTED.*
WHERE column_1 = 'A'
ROLLBACK TRANSACTION --Rollback will undo your changes
--Alternatively, use COMMIT to save your results
SELECT * FROM dbo.test_transaction --View the table after your changes have been run
DROP TABLE dbo.test_transaction