1
我的測試表有兩列:無法在Sql Server 2008R2中ROLLBACK事務?
id int not null
somecolumn varchar(10))
現在看到我的查詢:
USE TRY
BEGIN TRANSACTION T1
INSERT INTO Test VALUES(7,'hi');
GO
INSERT INTO Test VALUES(8,'hi','ABC');
GO
PRINT @@ERROR
if @@ERROR>0
ROLLBACK TRANSACTION T1
ELSE
COMMIT TRANSACTION T1
我知道,我的第二個查詢是錯誤的,所以我想事務回滾,但它插入第一個查詢,則顯示此消息:
(1 row(s) affected)
Msg 213, Level 16, State 1, Line 1
Column name or number of supplied values does not match table definition.
213
如果您刪除了「GO」,會發生同樣的情況嗎? – xan
您無法在BEGIN和END之間使用GO關鍵字。 [http://stackoverflow.com/questions/1180279/when-do-i-need-to-use-begin-end-blocks-and-the-go-keyword-in-sql-server] [ 1] [1]:http://stackoverflow.com/questions/1180279/when-do-i-need-to-use-begin-end-blocks-and-the-go-keyword-在-SQL服務器 – 2012-07-03 22:40:46