title image


Smiley Problem mit INSERT-Anweisung (SQL-Server 2000)
Hallo!



Folgendes Problem: ich habe eine Tabelle mit Tracks und eine Untertabelle, in welcher Beschreibungen zu den jeweiligen Tracks in verschiedenen Sprachen gespeichert sind. Diese Tabelle hat folgende Felder:



TrackID

SpracheID

Beschreibung



In dieser Tabelle ist ein Index, der pro Track und Sprache nur einen Datensatz erlaubt...



Ich muss jetzt aus einer anderen Tabelle Beschreibungen in die Trackbeschreibungen-Tabelle (SOCDTEXT) importieren. Dabei kann es sein, dass es bereits Einträge in der Zieltabelle gibt, die in dem Fall dann upgedatet werden sollen. Eine zusätzliche Schwierigkeit ist, dass in meiner Importtabelle keine TrackID's stehen... die Tracks sollen über Label, CD-Nr, TrackNr und Index identifiziert werden (die Kombination aus diesen vier Informationen ist eindeutig). Folgendes SQL-Statement habe ich zusammengestellt:



insert into SOCDTEXT

(trackid, spracheid, beschreibung)

select i.trackid, sprache, beschreibung

from importtabelle t, tracks i

where i.label = t.label

and i.cdnr = t.cdnr

and i.tracknr = t.tracknr

and i.soindex = t.soindex

and i.n_soitemtype = 2

and i.trackid > 0

and i.dt_deleted is null

and i.trackid not in

(select trackid

from SOCDTEXT

where spracheid = t.sprache)



Trotzdem bekomme ich folgende Fehlermeldung, wenn ich es ausführe:



Server: Nachr.-Nr. 2601, Schweregrad 14, Status 3, Zeile 1

Eine Zeile mit doppeltem Schlüssel kann in das SOCDTEXT-Objekt mit dem eindeutigen SOCDTEXT_XAK_ITEM_LANGUAGE-Index nicht eingefügt werden.

Die Anweisung wurde beendet.



Was stimmt an meiner Abfrage nicht?



lg Sabrina
schöne Grüße aus Tirol

zwu's Homepage
--------------------------------------------------------------------
Real programmers do not comment their code,
it's hard to write and should be hard to read!
--------------------------------------------------------------------

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: