WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 18.06.2007, 11:47   #1
Nestrus
Elite
 
Registriert seit: 01.07.2000
Alter: 40
Beiträge: 1.400


Nestrus eine Nachricht über ICQ schicken
Standard PL/SQL: Problem mit PK bei insert

Hallo,

ich habe eine tabelle1, bei der die Felder ID und Jahr Primary Key sind.
Jetzt möchte ich "unten dran" noch ein paar Zeilen hängen, die eigentlich kopierte Einträge sind, bei denen sich nur ein Datum ändert.

Ich mach dass so:
insert into tabelle1 (id, jahr, datumvon, ...)
select a.id+10000000, "var_jahr", b.datumvon, ...)
from tabelle1 a left join tabelle2 b on a.id = b.id;

Jetzt bekomme ich imm die Fehlermeldung "unique constraint (%s.%s) violated" bzw. "Verstoß gegen Eindeutigkeit, Regel (xxx.yyy)".

Aber die IDs mit dem summierten Wert sind auf jeden Fall eindeutig, ich habs in eine andere Tabelle getan und keine Zeile mit übereinstimmender ID gefunden. (Die IDs gehen auch nur bis ca 150.000)

Was mache ich falsch??


Danke für eue Hilfe und schöne Grüße
Nestrus
____________________________________
"reden 2 unsinn im wcm forum, meint der dritte is eh offtopic"
(Gifty am 14. Apr 2002 um 22:47 in " WCM Rat & Tat Forum > Meinung > Guru, e-Zitate & Off Topic > Kommt ein Mann zum Arzt...")
Nestrus ist offline   Mit Zitat antworten
Alt 11.07.2007, 07:59   #2
Zeddicus
Veteran
 
Registriert seit: 29.03.2001
Alter: 41
Beiträge: 344


Standard

wenns so nicht hinhaut mach doch ein kleines PL/SQL draus.

z.B.:

declare
cursor cur_1 is
select a.id, "var_jahr", b.datumvon, ...)
from tabelle1 a left join tabelle2 b on a.id = b.id;
begin
for rec_1 in cur_1 loop
rec_1.id := rec_1.id + 10000000;
insert into tabelle1 (...) values (rec_1.id, rec_1...);
end loop;
commit;
end;

oder könnte es sein, dass die id zu klein dimensioniert ist und somit die zahlen zu groß sind?

lg zedd
____________________________________
Nichts ist jemals einfach!
------------------------------------
Das 1. Gesetz der Magie (SotT):
Menschen sind dumm! Sie glauben das was sie glauben wollen!

Klingt das nicht irgendwie nach der Marketingstrategie diverser Soft- und Hardwarefirmen ?!?
Zeddicus ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:21 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag