sql >> Base de Datos >  >> RDS >> Oracle

Secuencias de Oracle:¿CURRVAL no está permitido aquí?

Ha publicado un código de muestra, por lo que no está claro lo que está tratando de lograr. Si desea conocer el valor asignado, por ejemplo, para pasar a algún otro procedimiento, podría hacer algo como esto:

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 la cláusula RETURNING para obtener los valores de cualquier columna, incluidas aquellas que se han establecido con valores predeterminados o mediante código de activación.