CREATE PROCEDURE dbo.spr_user_update
@userid int,
@username varchar(100),
@password varchar(100)
AS
DECLARE @ErrorString varchar(255)
DECLARE @ErrNumber int
SET NOCOUNT ON
BEGIN TRANSACTION
if not exists(select us_id from users where us_name=@username and us_password=@password)
begin
update users set us_name=@username, us_password=@password where us_id=@userid
SELECT @ErrNumber = @@ERROR
IF @ErrNumber <> 0 GOTO _error
end
else
begin
SELECT @ErrorString = 'username or password already exist!'
SELECT @ErrNumber = 1313
GOTO _error
end
_exit:
BEGIN
COMMIT TRANSACTION
SET NOCOUNT OFF
SELECT 0 AS success, @ErrNumber AS errornumber, '' as [description]
RETURN
END
_error:
BEGIN
ROLLBACK TRANSACTION
SELECT @ErrorString = description from master..sysmessages where error=@ErrNumber
SET NOCOUNT OFF
SELECT -1 AS success, @ErrNumber as errornumber, @ErrorString as [description]
RETURN
END
GO
Return