2012-10-23 46 views
2

我需要从连接选择命令插入多个返回记录到临时表。我使用了下面的命令。 select语句返回两个值,但是当我使用下面的命令插入时,(#TempTableValue)临时表没有任何内容。所有其他字段声明都可以,并且加入select命令正确返回值。从连接临时表插入多条记录

INSERT into #TempTableValue DEFAULT values 
SELECT #temp1.id,#temp1.DestFieldName,#temp2.FieldValues 
FROM #temp2 
INNER JOIN #temp1 
ON #temp2.FieldName=#temp1.SourceFieldName 

select * from #TempTableValue 

但是最后的select命令返回所有的空值。这里有什么问题?

+0

请您提供#TempTableValue表创建语句?我想看看为表格设置了哪些默认值 –

回答

1

尝试如下除去DEFAULT value

INSERT into #TempTableValue 
SELECT #temp1.id,#temp1.DestFieldName,#temp2.FieldValues 
FROM #temp2 
INNER JOIN #temp1 ON #temp2.FieldName=#temp1.SourceFieldName 

documentation

DEFAULT VALUES

强制新行包含每个 列定义的默认值。

1

好吧我想我知道这里有什么问题。 如果使用Insert Into #TempTableValue您必须先创建临时表。 要直接插入您的选择,您可以使用此

Select #temp1.id,#temp1.DestFieldName,#temp2.FieldValues Into #TempTableValue 
FROM #temp2 
INNER JOIN #temp1 
ON #temp2.FieldName=#temp1.SourceFieldName