Ver Mensaje Individual
  #5 (permalink)  
Antiguo 04/06/2008, 04:36
ferola
 
Fecha de Ingreso: noviembre-2006
Mensajes: 199
Antigüedad: 18 años, 3 meses
Puntos: 2
Respuesta: Select e Insert conjuntas

Hola, gracias a todos por vuestras respuestas.

He instalado el paquete dblink sobre la base de datos en la que quiero escribir, pues desde ella accederé a la base de datos de lectura.
Todo ésto debo ejecutarlo desde mi programa Java, integrándolo en el código o bien desde un archivo externo que ejecute en el postgreSQL desde pgAdmin.


Instalando el paquete dblink, la conexión y la sentencia me queda de la siguiente forma:


SELECT dblink_connect('link_volcarDatos','host=localhost port=5432 dbname=BD1 user=postgres password=1111);

//BD1, es la base de datos de lectura.
//BD2, es la base de datos de escritura.
//miTabla_deBD2 es el nombre de la tabla de la BD2, sobre la que escribir
//tablaGlobal_deBD1 es el nombre de la tabla de BD1, sobre la que leer los datos

Select * from dblink('link_volcarDatos', 'INSERT INTO miTabla_deBD2 SELECT * FROM tablaGlobal_deBD1 WHERE cod='001' )
AS reg_resultado();

SELECT dblink_disconnect('link_volcarDatos');

No sé si ésto está bien realizado, y en caso de que si lo esté pues no sé como ejecutarlo desde Java. Mis consultas SQL siempre las hice creando Conenction, Statement, etc. Y en éste caso, no sé si debo realizarlo usando el Statement sobre la BD de lectura o de Escritura, o ninguna.

Espero vuestra ayuda, muchas gracias de antemano.

Saludos.