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