2013-05-16 11 views
8

Làm cách nào tôi có thể cải thiện mã bên dưới để chỉ sử dụng 'chọn' một lần?TSQL - Gán giá trị từ truy vấn đến biến nếu bản ghi tồn tại trong một lựa chọn duy nhất

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 

Trả lời

18

Hãy thử này:

DECLARE @tmp_variable INT 
SET @tmp_variable = ISNULL((SELECT [NUMBER] 
           FROM  [TABLE] 
           WHERE  [ID_RECORD] = @id_record 
          ), 0) 
6

Hãy thử giải pháp này:

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