Thursday, June 5, 2014
Wednesday, June 4, 2014
Tuesday, June 3, 2014
Monday, June 2, 2014
New SQL Tip - SET XACT_ABORT ON
I have a new SQL Tip about SET XACT_ABORT.  If you're unfamiliar with this setting, you should definitely spend three minutes and watch this tip:
CREATE TABLE t1(col1 INT PRIMARY KEY)
GO
INSERT INTO t1VALUES
 (1)
,(2)
,(3)
,(4)-- Assuming SET IMPLICIT_TRANSACTIONS is OFF
INSERT INTO t1VALUES(1)
INSERT INTO t1VALUES(99)
-- Which rows get inserted?SELECT * FROM t1-- Which rows get inserted for this explicit transaction?BEGIN TRANSACTION;
   INSERT INTO t1
   VALUES
   (1)
   INSERT INTO t1
   VALUES
   (100)COMMIT TRANSACTION;GO-- Which rows get inserted?  Did 100 get inserted?SELECT * FROM t1-- With SET XACT_ABORT?SET XACT_ABORT ON;BEGIN TRANSACTION;
   INSERT INTO t1
   VALUES
   (1)
   INSERT INTO t1
   VALUES
   (200)COMMIT TRANSACTION;GODROP TABLE t1
Subscribe to:
Comments (Atom)