Tôi có một thủ tục lưu sẵn có câu lệnh if trong đó. Nếu số lượng hàng được tính lớn hơn 0 thì nó sẽ đặt thông số đầu ra duy nhất @UserId
thành 0Giá trị trả về trong thủ tục lưu sẵn SQL Server
Tuy nhiên, nó chỉ trả về giá trị trong phần thứ hai của truy vấn.
@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
Ý anh là gì bằng cách "trả về một giá trị trong phần thứ hai của câu hỏi"? Tham số đầu ra sẽ không được trả về như một recordset –