New PL/SQL Feature in Oracle 11g: the use of sequence.nextval

Another small new feature in Oracle 11g PL/SQL: you can directly use sequence.nextval (and sequence.currval). It is not necessary anymore to do something like select sequence.nextval into l_seq from dual in your PL/SQL block. A small example: 

  l_seq number;
  l_seq := oe.orders_seq.nextval;
  dbms_output.put_line('Value of orders_seq.nextval = '||to_char(l_seq));


Value of orders_seq.nextval = 1000

PL/SQL-procedure is geslaagd.

4 thoughts on “New PL/SQL Feature in Oracle 11g: the use of sequence.nextval

  1. Hi,
    i assume that ‘l_seq := oe.orders_seq.nextval;’ is translated/executed internally to ‘SELECT oe.orders_seq.nextval INTO l_seq FROM DUAL;’
    did you trace it?


  2. This is another small but good step in the right direction. I tried if it was possible to assign a sequence to the default expression of a column, but it appears this feature is really restricted to PL/SQL.
    As I see it now, many features are small tweaks to pl/sql.

Comments are closed.

Next Post

Building a report in XML Publisher

Last week I made my first steps with XML-Publisher 5.6 Desktop and I am very pleased with the simplicity you can create a report in such a short time. When you follow these instructions you can see it yourself. After you have installed the XML-Publisher 5.6 Desktop you open Microsoft Word […]
%d bloggers like this: