Rollback transaction on error : Error « Transact SQL « SQL Server / T-SQL

SQL Server / T-SQL
1. Aggregate Functions
2. Analytical Functions
3. Constraints
4. Cursor
5. Data Set
6. Data Type
7. Database
8. Date Timezone
9. Index
10. Insert Delete Update
11. Math Functions
12. Select Query
13. Sequence
14. Store Procedure Function
15. String Functions
16. Subquery
17. System
18. Table
19. Table Joins
20. Transact SQL
21. Transaction
22. Trigger
23. View
24. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
SQL Server / T-SQL » Transact SQL » Error 
Rollback transaction on error


23>
24CREATE TABLE MySavings(AccountNum Int NOT NULL,
25>                        Amount Money NOT NULL)
26>
27CREATE TABLE MyChecking(AccountNum Int NOT NULL,
28>                         Amount Money NOT NULL)
29>
30> ALTER TABLE MyChecking ADD CONSTRAINT ckMinBalance
31> CHECK (Amount > $100.00)
32>
33INSERT MySavings VALUES (12345, $1000.00)
34>
35INSERT MyChecking VALUES (12345, $1000.00)
36> GO

(rows affected)

(rows affected)
1>
2/*SQL SERVER 2000 Error Handling*/
3BEGIN TRANSACTION
4>   UPDATE MyChecking SET Amount = Amount - $990.00
5>   WHERE AccountNum = 12345
6>     IF @@ERROR != 0
7>       BEGIN
8>         ROLLBACK TRANSACTION
9>         RETURN
10>       END
11>     ELSE
12>   UPDATE MySavings SET Amount = Amount + $990.00
13>   WHERE AccountNum = 12345
14>     IF @@ERROR != 0
15>       BEGIN
16>         ROLLBACK TRANSACTION
17>         RETURN
18>       END
19>     ELSE
20> COMMIT TRANSACTION
21> GO
Msg 547, Level 16, State 1, Server JAVA2S\SQLEXPRESS, Line 4
The UPDATE statement conflicted with the CHECK constraint "ckMinBalance". The conflict occurred in database "master", table "dbo.MyChecking"
The statement has been terminated.
1>
2> drop table MySavings;
3> drop table MyChecking;
4> GO
1>
2>
           
       
Related examples in the same category
1. A simple example of the @@ERROR variable
2. Use @Error
3. Create a Stored Procedure that raises an error
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.