Beim Importieren von Daten Fehlermeldung - Hilfe

Kissling

Benutzer
Beiträge
15
Hallo zusammen,

ich habe ein kleines Problem beim Importieren von Daten in eine Tabelle:
Ich möchte Daten von einer Tabelle einer Datenbank A in eine Tabelle einer Datenbank B übertragen.
Hierzu brauche ich in der neuen Datenbank B für jeden Eintrag eine Recordid(PS,uniqueidentifier,NichtNull).

Die übertragung mache ich mit folgender SQL-Abfrage:

INSERT INTO [cRM_Solution_cosmolink_faktura_ES].[dbo].[Factura_Beleg_Positionen]
(Artikelnr, ...)
SELECT
ARTIKELNR, ...
FROM
[EBERLE-FM6-Import].[dbo].[ANGEBOTP]

Beim Ausführen der Abfrage bekomme ich die Fehlermeldung:
"Der Wert NULL kann in die Recordid-Spalte, cRM_Solution_cosmolink_faktura_ES.dbo.Factura_Beleg_Positionen-Tabelle nicht eingefügt werden. Die Spalte lässt NULL-Werte nicht zu. Fehler bei INSERT."

Mir ist klar, dass mein Schlüsselfeld "Recordid(PS,uniqueidentifier,NichtNull)" nicht leer sein darf.
Was muss ich an der Abfrage ändern das die ID automatisch erzeugt wird???

Vielen Dank

Ronald
 
Werbung:
in der Zieltabelle ist offenbar eine Spalte mit einem Not Null Constraint definiert...
dann musst du beim import befehl auch zwingend(!) einen wert in die entsprechende Spalte einfügen ;)

oder anders gesehen hast du vl. in der Quelltabelle den Wert Null enthalten, den du importieren möchtest, dann ist das sowieso seltsam ;D

Datenbankstruktur neu durchdenken, würde ich sagen ;)
 
oder auch als SELECT und INSERT INTO:

Code:
postgres=# with foo as (select 'noch ein test' as data) insert into kissling (data) select data from foo;
INSERT 0 1
postgres=# select * from kissling;
 id |     data      
----+---------------
  1 | eine
  2 | weitere
  3 | Zeile
  4 | noch ein test
(4 rows)

postgres=#
 
Werbung:
Danke,
habe es selber gefunden.

Ging ganz einfach
Lässt sich so lösen:

INSERT INTO [cRM_Solution_cosmolink_faktura_ES].[dbo].[Factura_Beleg_Positionen]
(ID,Artikelnr, ...)
SELECT
NEWID(),ARTIKELNR, ...
FROM
[EBERLE-FM6-Import].[dbo].[ANGEBOTP]

Gruß Ronald
 
Zurück
Oben