Valor de retorno en el procedimiento almacenado de SQL Server
Tengo un procedimiento almacenado que tiene una instrucción if. Si el número de filas contadas es mayor que 0, entonces debería establecer el único parámetro de salida@UserId
a 0
in embargo, solo devuelve un valor en la segunda parte de la consulta.
@EmailAddress varchar(200),
@NickName varchar(100),
@Password varchar(150),
@Sex varchar(50),
@Age int,
@EmailUpdates int,
@UserId int OUTPUT
IF
(SELECT COUNT(UserId) FROM RegUsers WHERE EmailAddress = @EmailAddress) > 0
BEGIN
SET @UserId = 0
END
ELSE
BEGIN
INSERT INTO RegUsers (EmailAddress,NickName,PassWord,Sex,Age,EmailUpdates) VALUES (@EmailAddress,@NickName,@Password,@Sex,@Age,@EmailUpdates)
SELECT SCOPE_IDENTITY()
END
END