Insert em outro banco

PostgreSQL

29/11/2008

Tenho o seguinte problema: Preciso fazer uma function em um banco que no evento AFTER INSERT de uma determinada tabela faça um INSERT em uma outra tabela de outro banco no mesmo servidor. Isto é possível?


Impadm

Impadm

Curtidas 0

Respostas

Jair Bg

Jair Bg

29/11/2008

Bom Dia, existe uma função ´implementação´ chamada ´DBLINK´
pode ser utilizada (+-) assim:

-- 1º Fazendo uma conexão..

SELECT DBLINK_CONNECT(´my_conexao´, ´hostaddr=175.35.55.145 port=5432 dbname=my_dbpSQL user=postgres password=´);

-- 2º Inclusão de registros...
SELECT DBLINK_EXEC(´my_conexao´, ´INSERT INTO pais VALUES (999, ´´Utopia´´, ´´Utopistas´´);´);

-- 3º Atualização de registros...
SELECT DBLINK_EXEC(´my_conexao´, ´UPDATE pais SET nacionalidade_pais = ´´Brasilenhos´´ WHERE codigo_pais = 999´;´);

--4º Exclusão de registros com DBLINK_EXEC
SELECT DBLINK_EXEC(´my_conexao´, ´DELETE FROM pais WHERE codigo_pais = 999;´);

--5º Desconexão objeto de conexão...
SELECT DBLINK_DISCONNECT(´my_conexao´);

OBSERVAÇÃO: Caso ocorra erro não encontre execute isso no banco para incluir o DBLINK:
01 - Execute ´c:\interface linha de comando do postgreSQL´
02 - psql -U postgres -f c:\PostgreSQL\8.3\Share\Contrib\dblink.sql postgres
03 - Retorne ao Query do PgAdmin e executar novamente.

acrescente isso a sua função conectando ao banco, também achei terrivel , mas é uma solução...melhor seria se fosse como no SQL-Server...


GOSTEI 0
POSTAR