Tengo un procedimiento almacenado que tiene una instrucción if. Si el número de filas contadas es mayor que 0, entonces debe establecer el único parámetro de salida @UserId
en 0Valor devuelto en el procedimiento almacenado de SQL Server
Sin 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
¿Qué quiere decir con "devuelve un valor en la segunda parte de la pregunta"? El parámetro de salida no se devolverá como un conjunto de registros –