将变量分配给临时表列

时间:2013-01-21 11:36:07

标签: sql-server-2008

我正在开发一个Task,我应该从数据库的所有表中获取数据而不知道表名。我打算做的是编写一个查询来获取所有表名和列名,并将其存储在临时表中。

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

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

之前我使用cursor来获取值并将其存储在变量中并在循环中调用它。但似乎光标消耗的时间和内存更多。所以我想用临时表来改变它。

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

1 个答案:

答案 0 :(得分:0)

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