TSQL-如果记录存在于单个select中,则将查询中的值分配给变量
如何改进下面的代码,使其只使用“选择”一次TSQL-如果记录存在于单个select中,则将查询中的值分配给变量,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,如何改进下面的代码,使其只使用“选择”一次 IF EXISTS (SELECT [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record BEGIN DECLARE @tmp_variable SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record SET @other_variable = @tmp_variable END ELS
IF EXISTS (SELECT [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record
BEGIN
DECLARE @tmp_variable
SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record
SET @other_variable = @tmp_variable
END
ELSE
BEGIN
SET @other_variable = 0
END
尝试以下解决方案:
DECLARE @tmp_variable int
SET @tmp_variable = null
SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record
IF @tmp_variable is not null
BEGIN
SET @other_variable = @tmp_variable
END
ELSE
BEGIN
SET @other_variable = 0
END
试试这个:
DECLARE @tmp_variable INT
SET @tmp_variable = ISNULL(( SELECT [NUMBER]
FROM [TABLE]
WHERE [ID_RECORD] = @id_record
), 0)