È possibile utilizzare la clausola RETURNING per eseguire questa operazione nei processi archiviati Oracle.
Ad esempio:
TABLEA ha NAME e EMP_ID. EMP_ID viene compilato internamente quando vengono inseriti i record.
INSERT IN TABLEA(NAME) VALUES ('BOB') RESTITUENDO EMP_ID IN o_EMP_ID;
Ciò presuppone che la riga sia in un processo memorizzato con un parametro di output di o_EMP_ID.
Spero di esserti stato d'aiuto... in caso contrario, ecco un esempio più dettagliato:
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/returninginto_clause.htm