Sql一个简易的登录事务
use MustGoHome; --判断该事物是否存在,存在就删除 if exists(select * from Sysobjects where name='usp_UserLogin') drop procedure usp_UserLogin; GO--/创建登录事物 create procedure usp_UserLogin( --参数 @UserId varchar(10),--用户的登录名 @Pwd CHAR(32),--加密后的登录密码 @LastLoginTime datetime,--最后登录的时间 @LastLoginIp varchar(32)--最后登录的Ip ) as declare @errorSum int set @errorSum=0 begin transaction begin --更新最后登录时间、Ip并获得所有信息 UPDATE dbo.Admins SET LastLoginTime=@LastLoginIp,LastLoginIp=@LastLoginIp WHERE UserId=@UserId AND Pwd=@Pwd; SELECT Id,AddTime,ThisState,UserId,Pwd,NickName,LastLoginTime,LastLoginIp,HeaderSrc FROM dbo.Admins WHERE UserId=@UserId AND Pwd=@Pwd set @errorSum=@errorSum+@@ERROR if(@errorSum>0) rollback transaction else commit transaction end go