sql-server - 使用存储过程中的 Select 查询将单个变量分配给多行

标签 sql-server

我的查询是使用 Select 将单个变量分配给多行 存储过程中的查询 例如: 我从 Employee 表中获取 10 个(比如 1 到 10)个员工 ID 声明@id int

select @id =EmpId from Employee

select @id

这将返回 10 行(即 Employee id ,假设 a 中有 10 行 表)现在我的问题是如何在单个变量中获取所有行 并一一使用该员工 ID 来执行一些计算。

最佳答案

您不能将 10 条记录插入到一​​个变量中。
然而你可以做的是:

declare @id table (id int)

insert into @id (id)
select EmpId from Employee

select * from @id

我们在这里所做的是创建一个表变量,它将 1 到 10 作为单独的行插入。您现在可以对表格做任何您想做的事情。

关于sql-server - 使用存储过程中的 Select 查询将单个变量分配给多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6583572/

相关文章:

c# - 确定数据库是否为 DacPackage 的 "Equal"

sql - 从表变量中获取列的明确名称

mySql 相当于带有 COUNT 的 Sqlserver 语句

c# - SQL Azure 的限制不是搬起石头砸自己的脚吗?

C# SQL连接池

SQL Server 对象分隔符

c# - 删除其他表中没有引用的行

sql - 使用 union 连接不同的记录

sql - 是否可以使用 SQL Server 使用同一数据透视表列来拥有多个数据透视表

sql - NOT IN 子句中的 NULL 值