sql-server-2008 – SQL Server设置变量,如果存在,则插入表中
发布时间:2020-05-28 14:31:40 所属栏目:MsSql 来源:互联网
导读:我正在寻找一种更有效的方法来完成这项任务.我需要设置一个等于ID的变量(如果存在),如果不存在,则将变量设置为插入的标识.我可以通过执行以下操作来实现此目的: @VariableName --sent through to stored procedureDECLARE @VariableID [int]IF EXISTS(SELECT
|
我正在寻找一种更有效的方法来完成这项任务.我需要设置一个等于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
但是,运行相同的查询两次似乎效率低下(检查是否存在以及是否设置了变量) 只是寻找更好的方法来完成这项任务的建议. 解决方法试试:DECLARE @VariableID [int]
SELECT @VariableID=VariableID FROM VariableTable WHERE VariableName = @VariableName
IF @VariableID IS NULL
BEGIN
INSERT INTO VariableTable(VariableName) VALUES(@VariableName)
SET @VariableID = SCOPE_IDENTITY();
END (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
