【发布时间】:2013-04-14 21:40:23
【问题描述】:
我有一个表 (Customer_Master_File),需要从转储到文件夹中的平面文件中进行更新。我有一个 SSIS 包,可以运行以获取平面文件并将它们导入临时表 (temp_Customer_Master_File)
我无法做到的是:
对于临时表中的每条记录,如果主表中存在Customer_Number,则更新它,如果不插入临时表的内容。
我正在更新记录的所有字段,而不是查找单个字段的更改。
我尝试了 SQL Merge 功能,但是当源数据中有多个记录时它会出错。
平面文件包含对客户记录的更改,一次可能有多个更改。我只想根据需要通过插入或更新来处理每条记录。
我还尝试执行 INSERT INTO MASTER_FILE FROM TEMP_TABLE WHERE CUSTOMER_NUMBER NOT IN MASTER_FILE,但这在遇到重复的源行时也会失败并出现 PK 错误。
【问题讨论】:
标签: sql sql-server-2012