一个简单的事务存储过程
/* Add Supplier Information,添加supplier信息,
同时还有用户名与密码,默认密码是web.config里的值*/
CREATE PROCEDURE SupplierAdd
@UserName varchar(20),
@Password varchar(50),
@LevelID int,
@Token int,
@IsEnabled int,
@SupplierName varchar(50),
@Address1 varchar(50),
@Address2 varchar(50),
@CityID int,
@CountyID int,
@CountryID int,
@PostCode varchar(8),
@Telephone varchar(20),
@Fax varchar(20),
@Commission decimal(10,2),
@SupplierDescription varchar(500),
@Priority smallint,
@FreeDeliveryLine smallmoney,
@ResultCode int output
AS
declare @LoginID int
declare @ImageCount int
/* add username */
Begin TransAction
Insert Into Login(LevelID,Token,UserName,[Password],IsEnabled) Values(@LevelID,@Token,@UserName,@Password,@IsEnabled)
Select @LoginID=@@Identity
If @@Error<>0 GoTo DBRollBack
/* add supplier info*/
Insert Into Supplier(LoginID,SupplierName,Address1,Address2,CityID,CountyID,CountryID,PostCode,
Telephone,Fax,Commission,SupplierDescription,Priority,FreeDeliveryLine)
Values(@LoginID,@SupplierName,@Address1,@Address2,@CityID,@CountyID,@CountryID,@PostCode,
@Telephone,@Fax,@Commission,@SupplierDescription,@Priority,@FreeDeliveryLine)
If @@Error<>0 GoTo DBRollBack
Begin
Commit TransAction
Select @ResultCode=0
End
return
/*if somewhere error,rollback*/
DBRollBack:
Begin
RollBack TransAction
Select @ResultCode=1
End
return
GO

浙公网安备 33010602011771号