【发布时间】:2016-06-08 23:52:50
【问题描述】:
所以我想根据它们的 pvkey 将数据从 tableA 插入到 tableB。每一行都有他的pvkey,同一个pvkey下的一行可以有多条记录,每条记录都有他唯一的cnkey。 Cnkey 对于表中的任何数据都是唯一的。当我从 tableA 插入数据时,没有列 Cnkey,而在 tableB 中有 Cnkey。
INSERT INTO CONTHIST (CONTTYPE, ASSIGNEDTO, CONTDATE, SOURCE, CNKEY)
SELECT ContactType, ASSIGNEDTO, DATE, SourceCode, ?!?!
FROM MopUpEOC
WHERE Pvkey in (1,5,7,9,11,20)
你能帮我解决这个问题吗,谢谢 :D
【问题讨论】:
-
那么你想在 Cnkey 列中插入什么?
-
不确定是什么问题。如果该列不存在,则不要将其包含在插入语句中 - 将
CNKEY从INSERT INTOLINE 中取出(假设它具有默认值) -
它说:无法将值 NULL 插入列 'CNKEY',表 'Progress.dbo.CONTHIST';列不允许空值。插入失败。该语句已终止。当我不包含列 Cnkey 时会发生这种情况。我尝试插入 0,但它必须是某种记录,因为每次插入新记录时,他都需要拥有对每条记录都是唯一的 Cnkey。
-
也许您应该首先执行 SELECT * INTO newTable FROM MopUpEOC WHERE 等... 仅针对您想要的列。
标签: sql sql-server insert