anfängeri Geschrieben 17. Mai 2009 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?
Jeglalf Geschrieben 17. Mai 2009 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
Jeglalf Geschrieben 17. Mai 2009 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
dbwizard Geschrieben 18. Mai 2009 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
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