【发布时间】:2012-02-23 12:07:26
【问题描述】:
我正在寻找一种更有效的方式来完成这项任务。如果存在,我需要设置一个等于 ID 的变量,如果不存在则插入它,然后将变量设置为插入的标识。我可以通过执行以下操作来完成此操作:
@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
但是两次运行相同的查询似乎效率低下(检查是否存在以及是否设置了变量)
只是寻找有关完成此任务的更好方法的建议。
【问题讨论】:
标签: sql-server-2008 stored-procedures exists