从sql server中的子查询创建临时表导致错误

Roo*_*ler 2 sql subquery temp-tables sql-server-2012

我有类似的东西

 if object_id('tempdb.#TempHourlyTable') is not null
drop table #TempHourlyTable

 select * into #TempHourlyTable
 from (
         select top 10 * from customers
      )
Run Code Online (Sandbox Code Playgroud)

我收到这样的错误:

')'附近的语法不正确.

我第一次尝试使用临时表.那么这里的错误是什么?

编辑:
删除并重新创建临时表是否存在.得到错误

消息2714,级别16,状态6,行55
在数据库中已经有一个名为"#TempHourlyTable"的对象.

Nat*_*erl 6

您需要为派生表(子查询)设置别名,例如:

select * into #TEmpTable
 from (
         select top 10 * from customers
      ) as [SomeAlias]
Run Code Online (Sandbox Code Playgroud)

你也可以:

select top 10 * 
into #temp
from customers
Run Code Online (Sandbox Code Playgroud)