Oracle 10g Constraint Problem
Hallo zusammen!
Habe ein kleines Problem auf einer Oracle 10g Datenbank, hoffe mir kann hier jemand weiterhelfen oder einen Tipp geben.
Eine Tabelle "TAB" besteht aus 6 Feldern, wobei die ersten 4 Felder den Primärschlüssel (PK) ausmachen:
"DOCID" (PK), "MANDANT" (PK), "OBJEKT" (PK), "NORMKEY" (PK), "TEXTFELD" und "TABPHYSSEQ".
Hole ich mir jetzt aus dieser Tabelle alle Einträge für Mandant 1 heraus und möchte diese wieder mit Mandant=3 wegschreiben, erhalte ich die Fehlermeldung:
"Unique Constraint 'TAB2PHYSSEQ' verletzt".
Das SQL hierzu ist sehr überschaubar:
insert into TAB ( "DOCID", "MANDANT, "OBJEKT", "NORMKEY", "TEXTFELD", "TABPHYSSEQ")
select "DOCID", 3 as "MANDANT", "OBJEKT", "NORMKEY", "TEXTFELD", "TABPHYSSEQ"
where "MANDANT" = 1;
Die Rahmenbedingungen:
- Für Mandant 3 gibt es bislang noch keinen Eintrag
- In der Ergebnismenge gibt es keinen einzigen doppelten Wert, der Primärschlüssel ist definitiv nicht verletzt
- Ein Fremdschlüssel auf diese Tabelle scheint nicht vorhanden zu sein
- Auch wenn die Abfrage auf die ersten 4 Felder beschränkt wird, kommt diese Meldung
- Eine Constraint 'TAB2PHYSSEQ' ist zu dieser Tabelle nicht angelegt, auch solches Feld gibt es in der Tabelle nicht
Danke & Gruß,
Nils
Habe ein kleines Problem auf einer Oracle 10g Datenbank, hoffe mir kann hier jemand weiterhelfen oder einen Tipp geben.
Eine Tabelle "TAB" besteht aus 6 Feldern, wobei die ersten 4 Felder den Primärschlüssel (PK) ausmachen:
"DOCID" (PK), "MANDANT" (PK), "OBJEKT" (PK), "NORMKEY" (PK), "TEXTFELD" und "TABPHYSSEQ".
Hole ich mir jetzt aus dieser Tabelle alle Einträge für Mandant 1 heraus und möchte diese wieder mit Mandant=3 wegschreiben, erhalte ich die Fehlermeldung:
"Unique Constraint 'TAB2PHYSSEQ' verletzt".
Das SQL hierzu ist sehr überschaubar:
insert into TAB ( "DOCID", "MANDANT, "OBJEKT", "NORMKEY", "TEXTFELD", "TABPHYSSEQ")
select "DOCID", 3 as "MANDANT", "OBJEKT", "NORMKEY", "TEXTFELD", "TABPHYSSEQ"
where "MANDANT" = 1;
Die Rahmenbedingungen:
- Für Mandant 3 gibt es bislang noch keinen Eintrag
- In der Ergebnismenge gibt es keinen einzigen doppelten Wert, der Primärschlüssel ist definitiv nicht verletzt
- Ein Fremdschlüssel auf diese Tabelle scheint nicht vorhanden zu sein
- Auch wenn die Abfrage auf die ersten 4 Felder beschränkt wird, kommt diese Meldung
- Eine Constraint 'TAB2PHYSSEQ' ist zu dieser Tabelle nicht angelegt, auch solches Feld gibt es in der Tabelle nicht
Danke & Gruß,
Nils
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119301
Url: https://administrator.de/contentid/119301
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
wie bekomme ich Constraints, Indizes, Tabellen, etc. angezeigt?
1. Enterprise Manager Console
oder
2. DBConsole
oder
3. SQL-Developer
oder
4. aus den DBA-/Userviews (wie Biber schon bemerkte)
Ein Index auf eine Tabelle (unique oder auch nicht) muss nicht immer ein Constraint sein, also auch mal "DBA(USER)(ALL)_INDEXES" schauen.
Gruß René
wie bekomme ich Constraints, Indizes, Tabellen, etc. angezeigt?
1. Enterprise Manager Console
oder
2. DBConsole
oder
3. SQL-Developer
oder
4. aus den DBA-/Userviews (wie Biber schon bemerkte)
Ein Index auf eine Tabelle (unique oder auch nicht) muss nicht immer ein Constraint sein, also auch mal "DBA(USER)(ALL)_INDEXES" schauen.
Gruß René