Ich versuche, Daten aus einer Tabelle, die aus einer Excel-Datei in eine andere Tabelle mit den gleichen genauen Spalten importiert wurde, einzufügen. Wenn ich alle Daten einfügenÜberprüfen Sie, ob Eintrag NOT EXISTS in SQL
INSERT INTO [NQL_RawData].[dbo].[WM_MFGPNs]
([Manufacturer],[MPNWP],[MFGPN],[Cage],[Url],[DataSheetUrl],[Description],[Status],[NRND],[RoHS],[PbFree],[LOT],[LeadTime],[AddedOn],[AddedBy])
SELECT [Manufacturer],dbo.BuildPNWP([MFGPN],0),[MFGPN],[Cage],[Url],[DataSheetUrl],[Description],[Status],[NRND],[RoHS],[PbFree],[LOT],[LeadTime],[AddedOn],[AddedBy]
FROM [NQL_RawData].[dbo].[wm_BulkImport] WHERE Manufacturer = 'MFG NAME'
kommt es mit dieser Fehlermeldung auf
Msg 2627, Ebene 14, Status 1, Zeile 1 Verletzung der PRIMARY KEY-Einschränkung 'PK_MFGPNs_1'. Kann doppelten Schlüssel in Objekt "Dbo.WM_MFGPNs" nicht einfügen. Die Anweisung wurde beendet.
Also änderte ich die Abfrage enthalten WHERE NOT
INSERT INTO [NQL_RawData].[dbo].[WM_MFGPNs]
([Manufacturer],[MPNWP],[MFGPN],[Cage],[Url],[DataSheetUrl],[Description],[Status],[NRND],[RoHS],[PbFree],[LOT],[LeadTime],[AddedOn],[AddedBy])
SELECT [Manufacturer],dbo.BuildPNWP([MFGPN],0),[MFGPN],[Cage],[Url],[DataSheetUrl],[Description],[Status],[NRND],[RoHS],[PbFree],[LOT],[LeadTime],[AddedOn],[AddedBy]
FROM [NQL_RawData].[dbo].[wm_BulkImport]
WHERE NOT EXISTS(
SELECT [MFGPN]
FROM [NQL_RawData].[dbo].[WM_MFGPNs]
WHERE Manufacturer = 'MFG NAME'
)
VORHANDEN Aber ich immer noch die gleiche Fehlermeldung. Irgendwelche Ideen?
Was ist Ihr PRIMÄRSCHLÜSSEL? Ihr 'NOT EXISTS' sollte überprüfen, dass der Schlüssel nicht vorhanden ist, anstatt die' Hersteller'-Spalte zu überprüfen ... –