2015-08-29 39 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

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

相关问题