在变量ms sql中存储select的结果

时间:2015-08-29 14:07:32

标签: sql-server

我想将表的结果存储在变量中。我知道结果总是一列和一条记录。这是我的代码:

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 个答案:

答案 0 :(得分:1)

以下是分配变量的一种方法:

2015-08-22 20:51:02.965000+00:00
2015-08-29 10:07:35.933000

这是另一个:

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

如果您使用的是SQL Server 2008或更高版本,则可以将最后一个缩写为:

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