Oracle
 sql >> Database >  >> RDS >> Oracle

Sequenze Oracle:CURRVAL non è consentito qui?

Hai pubblicato del codice di esempio, quindi non è chiaro cosa stai cercando di ottenere. Se vuoi conoscere il valore assegnato, diciamo che per passare a qualche altra procedura potresti fare qualcosa del genere:

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>

Modifica

Possiamo utilizzare la clausola RETURNING per ottenere i valori di qualsiasi colonna, comprese quelle che sono state impostate con valori predefiniti o tramite codice trigger.