SELECT INTO 创建一个新表?

Ben*_*erg 5 sql-server t-sql

我有一个MessageQueue六列的原始表格。当我尝试对该表执行 SELECT INTO 时,<network domain\user name>.MessageQueue当我使用以下代码时,它会创建一个仅包含三列的新(本地)表。我究竟做错了什么?

declare 
    @TempTable table (idx smallint Primary Key IDENTITY(1,1), OneId int, OtherId int)

declare 
    @OneId int,
    @OtherId int,
    @date datetime = dbo.GetFloorDate(getdate()),
    @i int = 1

insert @TempTable select Id, OtherId from One where @date = (select dbo.GetSomeDate (Id))

select MessageId = 9999, OneId, OtherId into MessageQueue from @TempTable

select * from MessageQueue
Run Code Online (Sandbox Code Playgroud)

gbn*_*gbn 11

是的,SELECT..INTO创建一个新表

您需要它来向现有表中添加行

INSERT MessageQueue (MessageQueue, OneId, OtherId) 
SELECT MessageId = 9999, OneId, OtherId 
   from @TempTable
Run Code Online (Sandbox Code Playgroud)