begin tran
语句一.....
if @@error<>0
begin
rollback tran
return
end
--有个判断
语句二.....
if @@error<>0
begin
rollback tran
return
end
语句三.....
if @@error<>0
begin
rollback tran
return
end
commit tran
如果这样写不行,有没有好办法呢?
...全文
2424打赏收藏
在存储过程里加上事务,这样写行吗?
begin tran 语句一..... if @@error0 begin rollback tran return end --有个判断 语句二..... if @@error0 begin rollback tran return end 语句三..... if @@error0 begin rollback tran return end commit tran 如果这样写不行,有没有好办法呢?
CREATE PROC develop.procInsert @orderNo varchar(4),@orderName varchar(20),@orderNum numeric(10,2)
AS
BEGIN TRAN
SET NOCOUNT ON
SET ANSI_WARNINGS OFF
DECLARE @numError numeric(12,2)
DECLARE @numCur numeric(6)
SET @numError=0
INSERT INTO new_ks.develop.TabX(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
SET @numError=@@ERROR
IF @numError<>0 GOTO errhandle
SET @numCur=@@IDENTITY
INSERT INTO Northwind.develop.TabY(order_no,order_name,order_num)
VALUES(@OrderNo,@OrderName,@OrderNum)
SET @numError=@@ERROR
IF @numError<>0 GOTO errhandle
SET @numCur=@@IDENTITY
COMMIT TRAN
SELECT 1
errhandle:
IF @numError<>0
BEGIN
ROLLBACK TRAN
SELECT 0
END
GO