Oracle: neue Spalte mit fortlaufend. Zahlen füllen

Hi!

Oracle: neue zusätzliche Spalte in Tabelle mit fortlaufenden Zahlen füllen, wie geht es? Neue Spalte soll anschließend Primary key werden und mit Sequenz weiter gefüllt werden.

Gruß
Peter

update tabelle set neuespalte=rownum;

Gruß

J.

update tabelle set neuespalte=rownum;

Gruß

J.

oder ganz einfach eine sequence definieren … (die ist halt dann nicht lückenlos, aber immerhin aufsteigend)

update tabelle set neuespalte=rownum;

oder ganz einfach eine sequence definieren … (die ist halt
dann nicht lückenlos, aber immerhin aufsteigend)

Das hatte er auch vor - hier ging es um die belegte Tabelle; wenn man eine neue Spalte hinzufügt, ist diese zunächst leer. Über die Rownum kann sie schon mal belegt werden, für alle weiteren Operationen kann dann die Sequence benutzt werden.

Gruß

J.

naja, aber wann die spalte mit der sequence befüllt wird, ist doch eigentlich egal: 1) spalte anlegen 2) sequence erstellen (oder umgekehrt) 3) spalte befüllen 4) trigger zum befüllen schreiben … oder renn ich mich da wieder mal in das falsche problem rein?

und ein fehler ist mir auch passiert: wenn der cache der sequence mit 1 definiert ist, gibt’s auch keine lücken … (kommt davon, wenn man immer 20 nimmt und an nix anderes mehr denkt)

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

naja, aber wann die spalte mit der sequence befüllt wird, ist
doch eigentlich egal: 1) spalte anlegen 2) sequence erstellen
(oder umgekehrt) 3) spalte befüllen 4) trigger zum befüllen
schreiben …

Klar. Die ursprüngliche Frage drehte sich um den Punkt 3, mein Vorschlag war nur gedacht, diesen zu erfüllen. Hast Du einen einfacheren für das reine Befüllen? Mir ist spontan dieser eingefallen.

oder renn ich mich da wieder mal in das falsche
problem rein?

Ich weiß nicht, von welchem Problem du sprichst :smile:

und ein fehler ist mir auch passiert: wenn der cache der
sequence mit 1 definiert ist, gibt’s auch keine lücken …

Ja, die Lücken sind meist irrelevant, möchte man aber keine haben, sollte man generell nicht mit einer Sequence arbeiten.

Gruß

J.

naja, aber wann die spalte mit der sequence befüllt wird, ist
doch eigentlich egal: 1) spalte anlegen 2) sequence erstellen
(oder umgekehrt) 3) spalte befüllen 4) trigger zum befüllen
schreiben …

Klar. Die ursprüngliche Frage drehte sich um den Punkt 3, mein
Vorschlag war nur gedacht, diesen zu erfüllen. Hast Du einen
einfacheren für das reine Befüllen? Mir ist spontan dieser
eingefallen.

oder renn ich mich da wieder mal in das falsche
problem rein?

Ich weiß nicht, von welchem Problem du sprichst :smile:

genau von dem da oben -> 4 punkte aufgelistet, obwohl eigentlich nur der 3. gefragt war und da auch, wie er gelöst werden soll …

grüße,
ein derzeit ziemlich verwirrter Tomh