Я ищу более эффективный способ выполнить эту задачу. Мне нужно установить переменную, равную идентификатору, если он существует, а если нет, вставить его, а затем установить переменную для вставленного идентификатора. Я могу добиться этого, выполнив следующие действия:
@VariableName --sent through to stored procedure
DECLARE @VariableID [int]
IF EXISTS(SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
SET @VariableID = (SELECT VariableID FROM VariableTable WHERE VariableName = @VariableName)
ELSE
INSERT INTO VariableTable(VariableName) VALUES(@VariableName)
SET @VariableID = SCOPE_IDENTITY();
END
Однако кажется неэффективным выполнять один и тот же запрос дважды (проверьте, существует ли и устанавливает ли переменная)
Просто ищу предложения по лучшему способу выполнения этой задачи.