BEGIN TRANSACTION : TRANSACTION « Transaction « SQL Server / T-SQL Tutorial






4> IF EXISTS (SELECT * FROM sysobjects WHERE name='show_error' AND
5>     type='U')
6>     DROP TABLE show_error
7> GO
1>
2> CREATE TABLE show_error
3> (
4> col1    smallint NOT NULL PRIMARY KEY,
5> col2    smallint NOT NULL
6> )
7> GO
1>
2>
3> BEGIN TRANSACTION
4>
5> INSERT show_error VALUES (1, 1)
6> INSERT show_error VALUES (1, 2)
7> INSERT show_error VALUES (2, 2)
8>
9> COMMIT TRANSACTION
10> GO

(1 rows affected)
Msg 2627, Level 14, State 1, Server J\SQLEXPRESS, Line 6
Violation of PRIMARY KEY constraint 'PK__show_error__74450BBF'. Cannot insert duplicate key in object 'dbo.show_error'.
The statement has been terminated.

(1 rows affected)
1>
2> SELECT * FROM show_error
3> GO
col1   col2
------ ------
     1      1
     2      2

(2 rows affected)
1>
2> drop table show_error;
3> GO








23.1.TRANSACTION
23.1.1.A transaction is bound by the ACID test. ACID stands for Atomicity, Consistency, Isolation (or Independence), and Durability:
23.1.2.Explicit Transaction Commands
23.1.3.Using Transactions
23.1.4.BEGIN TRANSACTION
23.1.5.Using Explicit Transactions
23.1.6.Forcing an exclusive table lock.
23.1.7.Transaction spread across batches:
23.1.8.Exception before transaction committing
23.1.9.statements coded as a transaction
23.1.10.A script with nested transactions
23.1.11.One batch that contains two transactions
23.1.12.What happens with stored proc transactions and exceptions?
23.1.13.Declare variable in a transaction
23.1.14.Inserting a Row into MyTable and Rolling Back the Transaction