2013-05-16 61 views
8

我怎樣才能提高下面的代碼使用「選擇」一次分配從查詢值變量?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 
ELSE 
BEGIN 
    SET @other_variable = 0 
END 

回答

18

試試這個:

DECLARE @tmp_variable INT 
SET @tmp_variable = ISNULL((SELECT [NUMBER] 
           FROM  [TABLE] 
           WHERE  [ID_RECORD] = @id_record 
          ), 0) 
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 
相關問題