2015-08-29 87 views
0

我想將表格的結果存儲在變量中。我知道結果總是一列和一個記錄。這裏是我的代碼:將結果存儲在變量ms中sql

if ((select count(id) from Categorie where naam = 'Hobbyclub') = 1) 
    begin 
     declare @id int set select id from Categorie where naam = 'Hobbyclub'; 

     insert into Items(naam, categorieID) values ('Naaien', @id); 

     print 'ok'; 
    end 
else 
    print 'nok'; 

它提供了以下關鍵字set附近錯誤:

不正確的語法

我如何可以存儲在@id第一個記錄,第一列存儲。

注意categorieID(由insert語句)也與int類型的記錄。

回答

1

這裏是分配一個變量的一種方法:

DECLARE @id INT; 
SELECT @id = id FROM Categorie WHERE naam = 'Hobbyclub'; 

下面是另一個:

DECLARE @id INT; 
SET @id = (SELECT id FROM …); 

如果您正在使用SQL Server 2008或更高版本,最後可以縮寫爲:

DECLARE @id INT = (SELECT id FROM …); 
+0

不錯,所有的方式都工作:) –

相關問題