0
尝试将tempTable中的行添加到表时遇到问题。问题是它添加了TempDealer表中的行,即使它们已经在Dealership表中(请注意,我在WHERE语句中指定WHERE td.supplier_ref NOT IN(SELECT supplier_ref FROM @dealerStatus)。每当我运行?。该存储过程是从TempDealer到经销商表再所有行增加时,它仅应提前加入他们,一旦任何想法感谢从临时表导入SQL
INSERT INTO @dealerStatus (dealerId, supplier_ref, [add], [timestamp])
SELECT NULL, td.supplier_ref, 1, GETDATE()
FROM TempDealer td
WHERE td.supplier_ref NOT IN (SELECT supplier_ref FROM @dealerStatus)
INSERT INTO Dealership(
dealership_name,
telephone,
fax,
sales_email,
support_email,
service_mask,
address1,
address2,
town,
county,
postcode,
website,
date_modified,
supplier_ref,
dealer_type,
county_id,
town_id,
area_id,
district_id,
longitude,
latitude
)
SELECT DISTINCT
[updateSource].leasing_broker_name,
[updateSource].telephone,
[updateSource].fax_number,
[updateSource].email,
[updateSource].support_email,
[updateSource].service_mask,
[updateSource].address1,
[updateSource].address2,
[updateSource].town,
[updateSource].county,
[updateSource].post_code,
[updateSource].web_address,
GETDATE(),
[updateSource].supplier_ref,
1,
[updateSource].county_id,
[updateSource].town_id,
[updateSource].region,
[updateSource].district,
[updateSource].longitude,
[updateSource].latitude
FROM
@dealerStatus dealerUpdateStatus INNER JOIN
TempDealer [updateSource] ON dealerUpdateStatus.supplier_ref = updateSource.supplier_ref
WHERE
dealerUpdateStatus.[add] = 1
现在你说“插入到经销商状态每一行从TempDealer没有一个供应商参考匹配已经在(在)dealerStatus”那里的问题。是当它检查这个时,(在)dealerStatus是空的。我想,您需要将您的WHERE子句更改为NOT IN(SELECT supplier_ref FROM Dealership)。 –
我做了,它没有插入任何东西WHERE td.supplier_ref NOT IN(SELECT supplier_ref FROM Dealership)。严重的是这让我发疯,它不会那么复杂 – Tofetopo
很难弄清楚它有什么问题,因为显然我不是那个看桌子的人,但让我仔细看看。 –