Comment affecter une valeur d'une instruction SELECT dans une variable?

J'essaye de faire ceci dans ma procédure stockée:


 déclare @CategoryId int

 -- des trucs

 SI EXISTE (select A_categoryId à partir de dbo.categories
            où B_categoryId = @b_categoryId
            et C_cactegoryId = @c_categoryId
           )
           - Il n'aime pas la ligne suivante:
           @CategoryId = select A_categoryId à partir de dbo.categories
            où B_categoryId = @b_categoryId
            et C_cactegoryId = @c_categoryId

mais ça n'aime pas la façon dont c'est structuré. des idées?

SELECT @CategoryId = A_categoryId from dbo.categories...

Cela étant dit, s'il vous plaît ne postz pas de questions sur la façon d'atsortingbuer des variables sur SO. C'est vraiment en dessous de la scope de ce que le site est sur et aurait pu être résolu en examinant toute documentation pour SQL Server.

C'est ce que vous cherchez:

 set @CategoryId = (select A_categoryId from dbo.categories where B_categoryId = @b_categoryId and C_cactegoryId = @c_categoryId)