在临时表中插入多行而不循环

时间:2017-03-04 11:39:38

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

这个问题已被多次询问,但解决方案对我不起作用。我不知道为什么。

其实我正在尝试在sql查询中创建一个临时表,其中我使用select into在临时表中插入一些记录,但每次返回空行:

这是我正在尝试的:

    Create Table #TempTable
  (
      EntityID BIGINT
  )

    INSERT INTO #TempTable (EntityID)
    SELECT pkEntityID  FROM Employee  WHERE EmpID = 45

    Select * from #TempTable

对应于45,Employee表中有10行。是不是我必须在这里做其他事情或循环结构,因为我们一次只能在表格中插入一行?

2 个答案:

答案 0 :(得分:0)

评论中已经说明了这一点,所有这些都是我投票的,但是要回答你的问题......你不需要做任何事情。您的源表中显然没有EmpID = 45。这是一个可重复的例子:

Declare @Employee Table (pkEntityID bigint, EmpID int)
insert into @Employee (pkEntityID, EmpID)
values
(32168123,45),
(89746541,45),
(55566331,45),
(45649224,12)


Create Table #TempTable
    (
    EntityID BIGINT
    )

INSERT INTO #TempTable (EntityID)
SELECT pkEntityID  FROM @Employee  WHERE EmpID = 45

Select * from #TempTable

drop table #TempTable

答案 1 :(得分:0)

您是否意外地在master数据库中创建了Employee表,并且您当前已连接到master数据库?