如何在没有声明表的情况下选择* INTO [临时表]?

时间:2011-07-10 18:58:48

标签: sql-server-2005 sql-server-2008

我想在一个表上使用select语句并将结果插入到临时表变量中,但是我没有使用列声明临时表,我希望像这样使用:

Declare #tmp table;

SELECT * INTO #tmp FROM myTable

这需要为#tmp

声明列和数据类型

请帮帮我

2 个答案:

答案 0 :(得分:41)

您可以在没有DECLARE命令的情况下执行此操作 - 这对于#temp表无效,仅对@table变量有效。您是否尝试过以下而不尝试首先定义#tmp:

SELECT * INTO #tmp FROM myTable;

答案 1 :(得分:31)

使用数据:

select *
into #tmp
from myTable

无数据:

select *
into #tmp
from myTable
where 0=1

顺便说一句,您可以使用表变量执行此操作。

select *
into @tmp
from myTable

表变量需要用列声明。