Sql 如何将SELECT语句中的值赋给变量?

Sql 如何将SELECT语句中的值赋给变量?,sql,sql-server,database,sql-server-2008,Sql,Sql Server,Database,Sql Server 2008,我正在尝试在存储过程中执行此操作: declare @CategoryId int -- stuff IF EXISTS (select A_categoryId from dbo.categories where B_categoryId = @b_categoryId and C_cactegoryId = @c_categoryId ) -- it doesn't like the following

我正在尝试在存储过程中执行此操作:

declare @CategoryId int -- stuff IF EXISTS (select A_categoryId from dbo.categories where B_categoryId = @b_categoryId and C_cactegoryId = @c_categoryId ) -- it doesn't like the following line: @CategoryId = select A_categoryId from dbo.categories where B_categoryId = @b_categoryId and C_cactegoryId = @c_categoryId 但它不喜欢它的结构。有什么想法吗?

从dbo中选择@CategoryId=A_CategoryId。类别

也就是说,请不要发布关于如何在SO上分配变量的问题。这实际上远远超出了网站的范围,可以通过查看SQL Server的任何文档来解决。

从dbo中选择@CategoryId=A_CategoryId。categories


也就是说,请不要发布关于如何在SO上分配变量的问题。这实际上远远低于网站的范围,可以通过查看SQL Server的任何文档来解决。

这就是您要查找的内容:

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

这就是您正在寻找的:

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

如果这是一个有人不能回答的有效问题,我不明白为什么他/她不能发布这样的问题。如果你不想问这个问题,为什么要发布答案?@john-太本地化了,我想差不多涵盖了这个问题。这个问题在将来肯定不会帮助任何人。你会感到惊讶的,尤其是对于TSQL。如果这个问题已经被问到了,我就不会问了!是的,我在这里搜索了正确的语法,但是我找到的IF-EXISTS示例没有包括选择变量,对不起。无论如何,我经常发现自己因为缺乏文档而问TSQL语法问题。@john-如果其他人对变量声明有问题,并通过搜索if EXISTS找到它,我会感到惊讶,是的。如果这是一个有人无法回答的有效问题,我不明白为什么他/她不能发布这样的问题。如果你不想问这个问题,为什么要发布答案?@john-太本地化了,我想差不多涵盖了这个问题。这个问题在将来肯定不会帮助任何人。你会感到惊讶的,尤其是对于TSQL。如果这个问题已经被问到了,我就不会问了!是的,我在这里搜索了正确的语法,但是我找到的IF-EXISTS示例没有包括选择变量,对不起。无论如何,我经常发现自己因为缺乏文档而问TSQL语法问题。@john-如果其他人对变量声明有问题,并通过搜索if EXISTS找到它,我会感到惊讶,是的。