CREATE PROCEDURE dbo.spr_user_insert
	@username varchar(100),
	@password varchar(100)
AS 

DECLARE @ErrorString varchar(255) 
DECLARE @ErrNumber int 
DECLARE @newID int

SET NOCOUNT ON 
BEGIN TRANSACTION 

if not exists(select us_id from users where us_name=@username and us_password=@password)
begin
	insert into users(us_name,us_password) values(@username, @password)
	SELECT @ErrNumber = @@ERROR 
	IF @ErrNumber <> 0 GOTO _error 
	SET @newID = @@IDENTITY
end
else
begin
	SELECT @ErrorString = 'username or password already exist!'
	SELECT @ErrNumber = 1313
	GOTO _error
end

_exit: 
BEGIN 
COMMIT TRANSACTION 
SET NOCOUNT OFF 
SELECT @newID 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