使用事務安全地更改資料
無論何時更改資料,都可以在資料操作語言(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