【发布时间】:2014-09-03 17:02:04
【问题描述】:
即使在阅读了具有类似标题的其他问题后,我也无法弄清楚为什么这不起作用。最后的 INSERT 语句出现错误。
WITH qryRecordsNotYetCompleted AS
(
SELECT FormNbr,
UserAssigned,
DateAssignedToAnalyst,
AssignmentStatus,
DateImportedFromSQL,
DateCompletedbyBAA,
DateSentToClaimsToolbar
FROM PENDS_BAA_MASTER WHERE ISNULL(DateCompletedbyBAA,'')=''
)
--/**********************************************************************************************
--2) For all those records, save any ASSIGNMENT information AND original DateImportedFromSQL value
SELECT qryRecordsNotYetCompleted.* INTO #TempPends FROM qryRecordsNotYetCompleted
--/**********************************************************************************************
--2b:
INSERT PENDS_BAA_MASTER_Temp
SELECT * FROM #TempPends
我检查了,PENDS_BAA_MASTER_Temp 肯定有列 UserAssigned、DateAssignedToAnalyst、AssignmentStatus、DateImportedFromSQL、DateCompletedByBAA、DateSentToClaimsToolbar。它们是与 PENDS_BAA_MASTER 完全相同的列类型,由于我的语句流,应该执行。
【问题讨论】:
-
除了您指定的列之外,
PENDS_BAA_MASTER_Temp是否还有任何 other 列?列顺序是否匹配? -
PENDS_BAA_MASTER_Temp的列数是否比您的 CTE 多? -
你为什么需要#TempPends?似乎您可以在单个插入语句中执行此操作,而不是这么多副本。
-
可能是个愚蠢的问题,但您不需要 INSERT 和 PENDS_BAA_MASTER_Temp 之间的 INTO
-
Mureinik,是的,它还有很多其他的列。但我认为因为我没有指定 Columns(, , , ) 值 (, , , ),而只是插入一个 Select *,所以没关系。 SQL Server 不只是为其余部分插入 Null 吗?
标签: sql sql-server tsql select