一个简单的事务存储过程

/* 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

posted @ 2006-09-01 09:34  folen  阅读(227)  评论(0)    收藏  举报