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

ham*_* aj 33 sql-server-2005 sql-server-2008

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

Declare #tmp table;

SELECT * INTO #tmp FROM myTable
Run Code Online (Sandbox Code Playgroud)

这需要声明#tmp的列和数据类型

请帮我

Aar*_*and 43

你可以在没有DECLARE命令的情况下完成这个任务 - 这对于#temp表来说无效,只有@table变量.您是否尝试过以下而不尝试首先定义#tmp:

SELECT * INTO #tmp FROM myTable;
Run Code Online (Sandbox Code Playgroud)


Mik*_*son 33

有了数据:

select *
into #tmp
from myTable
Run Code Online (Sandbox Code Playgroud)

没有数据:

select *
into #tmp
from myTable
where 0=1
Run Code Online (Sandbox Code Playgroud)

顺便说一下,你不能用表变量来做这件事.

select *
into @tmp
from myTable
Run Code Online (Sandbox Code Playgroud)

需要使用列声明表变量.

  • +1表示创建空表的参考. (6认同)