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