我正在寻找更有效的方式来完成此任务。如果它存在,我需要设置一个变量等于一个ID,如果不插入它,然后将该变量设置为插入的身份。我可以通过执行实现这一目标如下:SQL Server设置变量是否存在else else insert into table
@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 2014-06-09 18:35:41