【发布时间】:2012-03-23 10:19:38
【问题描述】:
我有一个包含 if 语句的存储过程。如果计数的行数大于0,那么它应该将唯一的输出参数@UserId设置为0
但是它只在查询的第二部分返回一个值。
@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
【问题讨论】:
-
“在查询的第二部分返回一个值”是什么意思?输出参数不会作为记录集返回
标签: sql sql-server stored-procedures