Я ищу более эффективный способ выполнения этой задачи. Мне нужно установить переменную, равную идентификатору, если она существует, и если не вставить его, а затем установить переменную на вставленную идентичность. Я могу сделать это, выполнив следующие действия:
@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
Однако, кажется неэффективным запускать один и тот же запрос дважды (проверьте, существует ли и устанавливает ли он переменную)
Просто ищу предложения о лучшем способе выполнения этой задачи.