IF @@ERROR <> 0 GOTO TRAN_ABORT : Goto « Transact SQL « SQL Server / T-SQL Tutorial






3> IF EXISTS (SELECT * FROM sysobjects WHERE name='show_error'
4>     AND type='U')
5>     DROP TABLE show_error
6> 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> BEGIN TRANSACTION
3> INSERT show_error VALUES (1, 1)
4> IF @@ERROR <> 0 GOTO TRAN_ABORT
5> INSERT show_error VALUES (1, 2)
6> if @@ERROR <> 0 GOTO TRAN_ABORT
7> INSERT show_error VALUES (2, 2)
8> if @@ERROR <> 0 GOTO TRAN_ABORT
9> COMMIT TRANSACTION
10> GOTO FINISH
11>
12> TRAN_ABORT:
13> ROLLBACK TRANSACTION
14>
15> FINISH:
16> GO

(1 rows affected)
Msg 2627, Level 14, State 1, Server J\SQLEXPRESS, Line 5
Violation of PRIMARY KEY constraint 'PK__show_error__762D5431'. Cannot insert duplicate key in object 'dbo.show_error'.
The statement has been terminated.
1>
2> SELECT * FROM show_error
3> GO
col1   col2
------ ------

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








20.9.Goto
20.9.1.Using GOTO
20.9.2.Goto statement
20.9.3.IF @@ERROR <> 0 GOTO TRAN_ABORT