Maffy1969 Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Hallo, ich habe in Problem mit einem Updatebefehl! Ich möchte in einer Tabelle "Preisliste" ein Datumsfeld, welches ein Datum enthält leeren, sodass nichts drin steht! Der Befehl: update preisliste set t$tdat=NULL where t$cpls='285' and t$tdat=to_date('31.12.2099','DD.MM.YYYY')and t$item='TK7130' gibt folgende Meldung Error: ORA-01407: cannot update ("preisliste"."T$TDAT") to NULL Es handelt sich bei dieser Sache um 27000 einzelne Positionen die nicht so einfach händisch zu löschen sind! Weiß jemand einen Rat? Vielen Dank!
dr.dimitri Geschrieben 21. Januar 2011 Geschrieben 21. Januar 2011 Naja auf dem Feld liegt ein NOT NULL Constraint. D.h. entweder der Constraint ist falsch gesetzt und Du musst ihn vorher entfernen (lassen), oder aber es gibt einen guten Grund warum jemand diesen Constraint eingeführt hat und das setzen eines NULL Wertes hätte unerwartete Auswirkungen auf die Anwendung o.ä. Auf jeden Fall sollte man da genauer Nachforschen bevor man den Constraint entfernt. Dim
Maffy1969 Geschrieben 21. Januar 2011 Autor Geschrieben 21. Januar 2011 Hallo, vielen Dank für deine Mühe aber ich habe die Lösung schon selber gefunden. update preisliste set t$tdat=(select t$tdat from preisliste where t$cpls='285' and t$item='KI5001'and t$tdat<to_date('01.01.1989','DD.MM.YYYY')) where t$cpls='285' and t$tdat=to_date('31.12.2099','DD.MM.YYYY')
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden