sql server存储过程回滚事务
SET NOCOUNT ON这个很常用
作用:阻止在结果集中返回显示受T-SQL语句或则usp影响的行计数信息。
当SET ONCOUNT ON时候,不返回计数,当SET NOCOUNT OFF时候,返回计数;即使当SET NOCOUNT ON 时候,也更新@@RowCount;当SET NOCOUNT on时候,将不向客户端发送存储过程每个语句的DONE_IN_proc消息,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能;
SET XACT_ABORT ON--sql事物回滚
BEGIN TRAN --开始事物
IF NOT EXISTS(SELECT TOP 1 1 FROM 表 WHERE cserviceno=@cserviceno) --过程,提前有返回值必须这样写
BEGIN ROLLBACK TRAN
RETURN 338
END
IF @@ERROR<>0 --结尾
BEGIN ROLLBACK TRAN
RETURN 0
END
ELSE
BEGIN COMMIT TRAN
RETURN 100
END