Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Sequências Oracle:CURRVAL não é permitido aqui?


Você postou algum código de exemplo, então não está claro o que você está tentando alcançar. Se você quiser saber o valor atribuído, digamos, para passar para algum outro procedimento, você pode fazer algo assim:
SQL> var dno number
SQL> insert into dept (deptno, dname, loc)
  2      values (deptno_seq.nextval, 'IT', 'LONDON')
  3      returning deptno into :dno
  4  /

1 row created.

SQL> select * from dept
  2  where deptno = :dno
  3  /

    DEPTNO DNAME          LOC
---------- -------------- -------------
        55 IT             LONDON

SQL>

Editar

Podemos usar a cláusula RETURNING para obter os valores de qualquer coluna, incluindo aquelas que foram definidas com valores padrão ou por código de gatilho.