Actualmente estoy trabajando en un servlet de generación de informes que aglomera información de varias tablas y genera un informe. Además de devolver las filas resultantes, también las estoy almacenando en una tabla de informes para que no necesiten volver a generarse más tarde, y persistirán si se eliminan las tablas de las que se extrajeron. Para hacer esto último tengo una declaración de la forma (NB: x se genera externamente y, de hecho una constante en esta declaración):Devolución de filas insertadas en PostgreSQL
INSERT INTO reports
(report_id, col_a, col_b, col_c)
SELECT x as report_id, foo.a, bar.b, bar.c
FROM foo, bar
Esto funciona bien, pero necesito una segunda consulta para volver realidad la resultante filas atrás, por ejemplo
SELECT col_a, col_b, col_c
FROM reports
WHERE report_id = x
Esto funciona bien y ya que sólo implica la tabla única, no debe ser costoso, pero parece que debería ser capaz de volver directamente los resultados de la inserción evitar la segunda consulta. ¿Hay alguna sintaxis para hacer esto que no he podido encontrar? (Debo señalar, soy bastante nuevo en el trabajo DB, por lo que si la respuesta correcta es que basta con ejecutar la segunda consulta, ya que es sólo ligeramente más lento, que así sea)
nos estamos quedando 8.4 por lo que es perfecto, gracias. – Dusty
+1 para una respuesta sólida y (también) mencionando los requisitos de versión (aunque la mayoría de las personas deberían tener al menos 8.3 ahora) – ChristopheD