-- Without any ERRORCREATE TABLE T1 ( ID INT IDENTITY(1,1), name VARCHAR(10))CREATE TABLE T2 ( ID INT IDENTITY(1,1), name VARCHAR(10))CREATE TABLE T3 ( ID INT IDENTITY(1,1), name VARCHAR(10))BEGIN TRY BEGIN TRAN t1 INSERT INTO t1 values('AAA') INSERT INTO T2 values('BBB') INSERT INTO T3 values('CCC') Commit Tran t1END TRYBEGIN CATCH ROLLBACK TRAN t1END CATCHSELECT * FROM t1SELECT * FROM T2SELECT * FROM T3DROP TABLE t1DROP TABLE T2DROP TABLE T3GO-- with ERRORCREATE TABLE T1 ( ID INT IDENTITY(1,1), name VARCHAR(10))CREATE TABLE T2 ( ID INT IDENTITY(1,1), name VARCHAR(10))CREATE TABLE T3 ( ID INT IDENTITY(1,1), name VARCHAR(10))BEGIN TRY BEGIN TRAN t1 INSERT INTO t1 values('DDD') INSERT INTO T2 values('EEE BBB BBB EEE') -- the value exceeds column length (10). So it should rollback all INSERTs INSERT INTO T2 values('CCC') Commit Tran t1END TRYBEGIN CATCH ROLLBACK TRAN t1END CATCHSELECT * FROM t1SELECT * FROM T2SELECT * FROM T3DROP TABLE t1DROP TABLE T2DROP TABLE T3
Mark This Response as Answer -- Chandu http://www.dotnetfunda.com/images/dnfmvp.gif
Login to post response