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

但最后一个选择命令返回所有 Null 值。这里有什么问题?

4

2 回答 2

1

尝试删除DEFAULT value如下:

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

来自文档

默认值

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

于 2012-10-23T12:00:47.933 回答
1

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

Select #temp1.id,#temp1.DestFieldName,#temp2.FieldValues Into #TempTableValue
FROM #temp2
INNER JOIN #temp1
ON #temp2.FieldName=#temp1.SourceFieldName
于 2012-10-23T12:07:33.763 回答