У меня есть сохраненный процесс (SS2008), который принимает пару идентификаторов и должен искать их в таблице, прежде чем добавлять запись. У меня есть int выходной параметр, который я хотел бы вернуть и установить его значение в зависимости от того, что произошло. У меня пока что есть, но всегда возвращается 1. Может ли кто-нибудь указать мне правильное направление?
BEGIN TRY
IF EXISTS
(
SELECT * FROM tbMap WHERE (cId= @CId)
)
SET @result = -1; -- This C User is already mapped
ELSE IF EXISTS
(
SELECT * FROM tbMap WHERE (dId = @DId)
)
SET @result = -2; -- This D User is already mapped
ELSE
INSERT INTO tbMap (
Login
, Email
, UserName
, CId
, DId)
SELECT
@UserName
, usr.EmailAddress
, usr.UserName
, @CId
, @DId
FROM tbUser usr WHERE usr.iUserID = @DId
SET @result = 1;
RETURN
END TRY
Чего мне не хватает? Спасибо за любые советы.
Ура,
~ ck в Сан-Диего