8

如何改进以下代码以仅使用一次“选择”?

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
4

2 回答 2

19

尝试这个 :

 DECLARE @tmp_variable INT
 SET @tmp_variable = ISNULL(( SELECT    [NUMBER]
                              FROM      [TABLE]
                              WHERE     [ID_RECORD] = @id_record
                             ), 0)
于 2013-05-16T08:35:53.070 回答
6

试试这个解决方案:

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
于 2013-05-16T07:51:08.837 回答