Re: retornar valor en transaccion

From: Marco Vinicio Jimenez Rojas <viniciojr(at)gmail(dot)com>
To: Francisco Olarte <folarte(at)peoplecall(dot)com>
Cc: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: retornar valor en transaccion
Date: 2017-04-18 13:13:01
Message-ID: CA+bgTXB6VKqD4BsGxJgbUThrDQpERqhqRxY4MXY5Az7C4MjY3A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

A ver si me explico, si es un escript que ejecuto desde el query del
pgadmin desde donde lo pruebo, pero en realidad lo corro desde una
aplicación java desde donde quiero recuperar el valor antes descrito,
aclaro que no soy muy experto en postgres y por eso mis dudas y mis fallas.

como ves es una transaccion donde lo que hace es ejecutar unos inserts,
donde hay datos secuenciales(serials), justo esos datos los quiero recuperar

El 18 de abril de 2017, 2:10, Francisco Olarte <folarte(at)peoplecall(dot)com>
escribió:

> Marco:
>
> 2017-04-18 1:06 GMT+02:00 Marco Vinicio Jimenez Rojas <viniciojr(at)gmail(dot)com
> >:
> > Tengo la siguiente transacción en la cual necesito utilizar el valor del
> > "returning id_roles" fuera de la transacción. todo funciona bien pero no
> me
> > sale ese dato por ningún lado
>
> Cuando 'no te sale' que quieres decir? Eso parece un trozo de script
> medio pegado, si se lo metes al psql ¿ que hace / imprime ?. Nota, si
> estas usando algo tipo el pgAdmin este puede estar recibiendo el dato
> y no mostrarlo, pero para depurar esas cosas necesitarias contar
> exactamente la secuencia que usas y los programas y versiones ( el
> psql es mas sencillo para estos reports, lo arrancas, le pegas el
> query, imprimira algo, cortas el texto de la pantalla entera y lo
> pegas, por eso te lo digo ).
>
> > begin transaction;
> > with roles as(
> > insert INTO ovinos.roles VALUES(default,'prueba rol','el primer rol
> de
> > prueba',2) returning id_rol
> > )
> > insert INTO ovinos.funciones_roles VALUES(4,(select roles.id_rol from
> > roles)),
> > (5,(select roles.id_rol from roles))returning id_roles;
>
> Parece correcto PERO no poner los nombres de las columnas en las que
> estas insertando es 1.- Pedir problemas a medio plazo y 2.- una
> dificultad añadida para que te digamos nada ya que no sabemos
> siquierea como se llaman las columnas en las tablas.
>
> Una prueba similar ( sin schemas ) me funciona sin problemas:
> http://sqlfiddle.com/#!15/92ae0/1/0
>
> Y por el estilo del report esto tiene toda la pinta de ser problemas
> con la herramienta de queries que estas usando.
>
>
> > commit;
> > ROLLBACK TRANSACTION;
>
> ¿ Porque commit + rollback ?
>
> Francisco Olarte.
>

--

-----------------------
MVJR

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Francisco Olarte 2017-04-18 13:23:50 Re: retornar valor en transaccion
Previous Message Francisco Olarte 2017-04-18 08:10:45 Re: retornar valor en transaccion