我正在将数据从SOURCE复制到DEST。
两者都是结构相同的数据库,供同一软件使用。
我目前正在使用的表格在ITEM_CODE和VEND_CODE
上有PK源有各种供应商代码,包括100004
目的地需要将100004设置为VEND代码。
我的计划只是将来自SOURCE的行与VEND_CODE设置为100004
我写了以下内容失败了:
INSERT DEST.dbo.ITEM_REPLENISH_VENDOR(
[ITEM_CODE],[VEND_CODE],[PRIMARY_VENDOR],[PURCHASE_MEASURE],
[STD_COST],[LAST_COST],[EOQ],[VENDOR_PART_NO],[LEAD_TIME],[COST])
SELECT s.[ITEM_CODE],s.[VEND_CODE],'T','EA','0','0','0','0','0', '0'
FROM SOURCE.dbo.ITEM_REPLENISH_VENDOR s
LEFT OUTER JOIN DEST.dbo.ITEM_REPLENISH_VENDOR d
ON (d.ITEM_CODE = s.ITEM_CODE) -- AND (d.VEND_CODE = s.VEND_CODE)
WHERE d.ITEM_CODE IS NULL AND s.[VEND_CODE] = '100004'
ERROR:
Msg 547, Level 16, State 0, Line 2
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_ITEM_REPLENISH_VENDOR_ITEMS".
The conflict occurred in database "DEST", table "dbo.ITEMS", column 'ITEMNO'.
The statement has been terminated.'
我认为我的语法错误是因为我完成了脚本。
答案 0 :(得分:0)
由于表 ITEM_REPLENISH_VENDOR 中的外键约束引用了项目表中的项目代码
您需要先在目标表项
中插入缺少的商品代码您当前的查询是好的