How to select the value of a variable in Oracle? How to select the value of a variable in Oracle? sql sql

How to select the value of a variable in Oracle?


If you only wanted to know the sequence's next or current value, you could simply use sql query:

SELECT HIBERNATE_SEQUENCE.nextval FROM dual;SELECT HIBERNATE_SEQUENCE.currval FROM dual;

As to know how to proceed in pl/sql (before 11g):

SET SERVEROUTPUT ONDECLARE     nextId NUMBER;BEGIN     SELECT HIBERNATE_SEQUENCE.nextval INTO nextId FROM dual;     dbms_output.put_line(nextId);END;

Since 11g: it is more simplified sequence to use in plsql as:

SET serveroutput ONDECLARE     nextId NUMBER := HIBERNATE_SEQUENCE.nextval;BEGIN     dbms_output.put_line(nextId);END;

or simply

BEGIN     dbms_output.put_line(HIBERNATE_SEQUENCE.nextval);END;

More details:Click here


In a pl/sql block, you cannot write an SQL statement like

select nextId from dual;

That is why it is showing you an error. By the way you do not need this statement altogether. To display it as an output you should use -

DBMS_OUTPUT.PUT_LINE(nextId);

To be able to display it you need to write the below statement before the declare block -

SET SERVEROUTPUT ON;