Sequenz in Insert-/Select verwenden (Oracle)

Das Einsetzen einer Sequenz in einem Insert-Select-Statement ist bei Oracle direkt nicht möglich. Aber es gibt einen Workaround. Und zwar muss das eigentliche Select in ein Subselect gesetzt werden und dann kann die Sequenz wie gewohnt verwendet werden.

Hier das entsprechende Pseudostatement:

 
INSERT INTO my_table 
(id, column_a, column_b, column_c)
SELECT seq.NEXTVAL, a, b, c FROM (
    SELECT a, b, c FROM another_table
    WHERE d = 'something'
)
 

Ticker

03.01.12  -  Die Pause ist vorüber und wir sind mit neuem Tatendrang wieder an der Arbeit. Willkommen im 2012!

23.12.11  -  Wir wünschen allen frohe Festtage und einen guten Rutsch ins Neue Jahr!