sanjdhiman
Programmer
I have the following piece of code.
I am making it error by having an unknown table BondquoteArchive to see if the transaction gets rolled back, however it does not. Can anyone see why????
Thanks
DECLARE @ErrorCounter INT
SELECT @ErrorCounter = 0
BEGIN TRAN
INSERT INTO ClientBondQuoteArchive
SELECT * FROM ClientBondQuote
TRUNCATE TABLE ClientBondQuote
SELECT @ErrorCounter + @@ERROR
INSERT INTO BondQuoteArchive
SELECT * FROM BondQuote
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
DELETE FROM BondQuote
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
INSERT INTO BondQuoteOriginalArchive
SELECT * FROM BondQuoteOriginal
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
TRUNCATE TABLE BondQuoteOriginal
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
SELECT @ErrorCounter
IF @@TRANCOUNT > 0 AND @ErrorCounter = 0
BEGIN
PRINT 'Committing Tran'
COMMIT TRAN
END
ELSE
BEGIN
PRINT 'Rolling Back'
ROLLBACK TRAN
END
I am making it error by having an unknown table BondquoteArchive to see if the transaction gets rolled back, however it does not. Can anyone see why????
Thanks
DECLARE @ErrorCounter INT
SELECT @ErrorCounter = 0
BEGIN TRAN
INSERT INTO ClientBondQuoteArchive
SELECT * FROM ClientBondQuote
TRUNCATE TABLE ClientBondQuote
SELECT @ErrorCounter + @@ERROR
INSERT INTO BondQuoteArchive
SELECT * FROM BondQuote
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
DELETE FROM BondQuote
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
INSERT INTO BondQuoteOriginalArchive
SELECT * FROM BondQuoteOriginal
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
TRUNCATE TABLE BondQuoteOriginal
SELECT @ErrorCounter = @ErrorCounter + @@ERROR
SELECT @ErrorCounter
IF @@TRANCOUNT > 0 AND @ErrorCounter = 0
BEGIN
PRINT 'Committing Tran'
COMMIT TRAN
END
ELSE
BEGIN
PRINT 'Rolling Back'
ROLLBACK TRAN
END