给你一个例子:
BEGIN TRAN --开始一个事务
INSERT INTO PRODUCT(PRODUCTID, PRODUCTNAME) VALUES("0001", "KEYBOARD")
UPDATE PRODUCT SET PRICE=12 WHERE PRODUCTID= "0002"
IF (@ERROR>0)
ROLLBACK --执行语句失败,则回滚到开始处
ELSE
COMMIT --提交事务
没有关系的,你只要加入一个BEGINTRANSCATION和一个ENDTRANSCATION.数据库会将这里面的SQL处理批量执行,当中间出现一条错误时你可以ROLLBACK,这样就会全部都取消掉,也就是说都不会执行。
在数据库中使用事务:
SET XACT_ABORT ON --当产生错误时自动回滚事务
BEGIN TRAN
......
COMMIT TRAN
也可以在代码中使用事务:
SqlTransaction tran = sqlConn.BeginTransaction();
try
{
......
tran.Commit();
}
catch
{
tran.Rollback();
}