Sequenzfehler in SQL. Sequenznummer ist hier nicht erlaubt

8

Ich versuche, die folgende Abfrage auszuführen, um eine Anzahl von Knoten mit einer ID einzufügen, die automatisch inkrementiert wird, wenn Knoten in die Tabelle geladen werden.

Allerdings erhalte ich den Fehler ORA-02287: sequence number not allowed here , wenn ich ihn ausführe.

%Vor%

Ich habe versucht,

auszuführen %Vor%

Das funktioniert einwandfrei und gibt die Nummer zurück, die ich möchte.

Wie komme ich damit klar? Ich laufe auf Oracle 11g.

Es würde auch sehr geschätzt werden, wenn die Abfrage noch in einer Zeile ausgeführt werden könnte, da ich diese in einer Tabellenkalkulation mache und dies immer noch tun möchte.

    
Slater Victoroff 29.06.2012, 18:52
quelle

1 Antwort

22

Es ist nicht nötig, das innere SELECT zu haben. Einfach

%Vor%

Im Allgemeinen möchten Sie jedoch die Spalten auflisten, für die Sie Werte in Ihrer INSERT -Anweisung angeben. Das dokumentiert nicht nur die Spalten, damit ein zukünftiger Entwickler die Reihenfolge der Spalten in einer Tabelle nicht nachschlagen muss, sondern Sie schützt, wenn der Tabelle in Zukunft neue Spalten hinzugefügt werden.

%Vor%     
Justin Cave 29.06.2012, 19:02
quelle

Tags und Links