Skip to Main Content

Español

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Como recuperar el ultimo id generado en oracle 11g

3709205Jun 29 2018 — edited Aug 8 2018

Estoy tratando de capturar el último id registrado en una tabla (USO ORACLE 11G) y buscando en internet me encontre este post.

No encontre mucha informacion en español por eso solo estoy usando como referencia solo este post, pero no me funciona. En el post indica que hay que crear un trigger y luego capturar el idingresado , a través de un returning into pero al momento de ejecutar la sentencia de insertjunto con el returning me da error, pero si ejecuto solo el insert no hay problema. En teoría debería ejecutarse las dos instrucciones juntas.

En concreto me da el sgt error:"ORA-01008: NOT ALL VARIABLES BOUND".

Estoy tratando de capturar el último id registrado en una tabla (USO ORACLE 11G) y buscando en internet me encontre este post.

No encontre mucha informacion en español por eso solo estoy usando como referencia solo este post, pero no me funciona. En el post indica que hay que crear un trigger y luego capturar el idingresado , a través de un returning into pero al momento de ejecutar la sentencia de insertjunto con el returning me da error, pero si ejecuto solo el insert no hay problema. En teoría debería ejecutarse las dos instrucciones juntas.

En concreto me da el sgt error:

"ORA-01008: NOT ALL VARIABLES BOUND".

/*CREANDO SECUENCIAS*/  create sequence id_pedido start with 1 increment by 1; 
/*CREO LA TABLA PADRE*/ create table pedidos_padre( id_pedidos_padre int primary key,
id_usuario int, fecha_registro date,
nom_cliente varchar(150),
foreign key(id_usuario)
references usuario(id_usuario) );
/*creo un disparador para capturar el ultimo id generado*/ 
CREATE OR REPLACE TRIGGER pedidos_padre_bit
BEFORE
INSERT ON pedidos_padre
FOR EACH ROW BEGIN
SELECT id_pedido.NEXTVAL INTO   :new.id_pedidos_padre FROM   dual;
END;
insert into pedidos_padre(id_pedidos_padre,id_usuario,fecha_registro,nom_cliente)
values(id_pedido.nextval,2,sysdate,'rayito')
RETURNING id_pedidos_padre
INTO :last_insert_id
Comments
Post Details
Added on Jun 29 2018
2 comments
2,178 views