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

Retornar um valor de uma instrução de inserção


Algumas possibilidades:

1) Use a cláusula RETURNING:
INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS')
RETURNING empno INTO :variable;

2) Use a sequência CURRVAL:
INSERT INTO emp (empno, ename) VALUES (emp_seq.NEXTVAL, 'ANDREWS');
SELECT emp_seq.CURRVAL INTO :variable FROM DUAL;

CURRVAL retorna o último valor de sequência gerado por sua sessão.