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