anfängeri Geschrieben 17. Mai 2009 Teilen Geschrieben 17. Mai 2009 Hallo, hab da ein Problem, musste eine Spalte in einer Tabelle ergänzen - alter table... add... jetz soll ich den Anfangswert in dieser Spalte auf 2000 einstellen, hab aber keine Ahnung wie, ich konnte auch nichts finden, mach ich das mit decode, muss ich einen constraint definieren? kann mir jemand helfen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jeglalf Geschrieben 17. Mai 2009 Teilen Geschrieben 17. Mai 2009 (bearbeitet) Update DeineTabelle set NeueSpalte = 2000; //ich gehe mal davon aus, dass es sich um ein Zahlenformat handelt, bei Text müsstest Du die 2000 noch als '2000' schreiben. das wars schon, somit werden alle Datensätze mit dem Wert 2000 in der neuen Spalte gesetzt. Bearbeitet 17. Mai 2009 von Jeglalf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jeglalf Geschrieben 17. Mai 2009 Teilen Geschrieben 17. Mai 2009 (bearbeitet) Hab nochmal drüber nachgedacht, könnte sein, dass du generell bei jedem insert die 2000 erstmal als startwert haben willst, dann hast du 2 möglichkeiten: 1. Vorbelegen in den Insert-Statements selbst oder 2. Trigger einbauen, der bei leerem Wert 2000 einfügt: CREATE OR REPLACE TRIGGER vorbelegen AFTER INSERT ON DeineTabelle FOR EACH ROW WHEN (NEW.NeueSpalte is NULL) BEGIN update DeineTabelle set NeueSpalte = 2000 WHERE [Primärschlüsselspaltenname]=new.[Primärschlüsselspaltenname]; END; / Danach Trigger "einschalten": ALTER TRIGGER vorbelegen ENABLE; Jetzt wir bei jedem einfügen eines neuen Datensatzes, sofern der eingefügte Wert in der neuen Spalte NULL ist, der neue Datensatz geupdatet und mit 2000 vorbelegt. Bearbeitet 17. Mai 2009 von Jeglalf Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 18. Mai 2009 Teilen Geschrieben 18. Mai 2009 Hallo, hab da ein Problem, musste eine Spalte in einer Tabelle ergänzen - alter table... add... jetz soll ich den Anfangswert in dieser Spalte auf 2000 einstellen, hab aber keine Ahnung wie, ich konnte auch nichts finden, mach ich das mit decode, muss ich einen constraint definieren? kann mir jemand helfen? Ich bin nicht ganz sicher, was du möchtest, aber ich denke , du willst eine neuen Spalte in eine bestehende Tabelle einfügen vom Typ varchar2(2000) ? ALTER TABLE MyTable ADD (myNewAttribute VARCHAR2 (2000) ) / Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.