0

我正在处理一项任务,我应该在不知道表名的情况下从数据库中获取所有表中的数据。我打算做的是编写一个查询以获取所有表名和列名并将其存储在临时表中。

获得表名和列名后,我必须将值存储到变量中,例如@Table_Name@Column_Name。然后我必须在循环中调用表名并且必须编写这样的查询

"select * from '''+@Table_Name+''' where '''+@Column_Name+''' = 1"

早些时候,我曾经cursor获取值并将其存储在一个变量中并在循环中调用它。但似乎光标正在消耗更多的时间和内存。所以我想用临时表来改变它。

我的疑问是,是否可以将临时表值分配给变量以供以后使用。如果可能怎么办?

4

1 回答 1

0

我觉得您的想法可能行不通,因为您正试图在 SQL Server 中合并数组的概念。SQL Server 没有数组,但有表。您可以通过创建临时表来获取所需的数据。通过触发类似的查询插入其中 select * from sys.tables。然后尝试通过从该表中加载每一行来执行您的操作。完成工作后,请务必放下桌子。

于 2013-01-21T12:29:01.563 回答