使用@temp表变量插入SQL Server

时间:2015-07-27 19:46:22

标签: sql sql-server

我想检查这样的事情是否可行。我有一个只有YesNo的表变量。我想用这个创建一个select查询(基本上是交叉连接),然后使用这个select查询在表中插入所有数据

DECLARE @testTable TABLE (testTable nvarchar(3))

INSERT INTO @testTable VALUES ('Yes')
INSERT INTO @testTable VALUES ('No')

INSERT INTO DimLifeEventFlags_Stage_1
(
Select 
    LET.ID AS eID,
    LERS.ID AS cID,
    DYLE.testTable AS testTable
from 
    mainTable1 LERS, 
    mainTable2 LET , 
    @testTable DYLE
    )

1 个答案:

答案 0 :(得分:1)

没有理由你不能做你正在做的事情,但如果我写这篇文章,我会使用CROSS JOIN join来明确。如果您在LEFT或INNER中混音,CROSS JOIN也会更容易。

我根本不会使用临时表,而是使用values子句

INSERT INTO DimLifeEventFlags_Stage_1
(
Select 
    LET.ID AS eID,
    LERS.ID AS cID,
    DYLE.testTable 
from 
    mainTable1 LERS  
    CROSS JOIN mainTable2 LET 
    CROSS JOIN (Values ('Yes'), 
                        ('No') 
                ) as DYLE (testTable )
    )