
no me inserta todos los registro de una table
Publicado por tayshaun (6 intervenciones) el 02/03/2022 15:05:32
Tengo una function en PostgreSQL que cuando ejecuto la function por primera ves me inserta todos los registro del otro servidor bien hasta ahí,pero cuando se insertan más registros en la table de ese servidor, y cuado ejecuto mi función nuevamente para tener esos registro la function se ejecuta bien pero no me inserta los registros que insertaton nuevo en dicha table, mi function es esta:
create or replace function get_data_p(
)
returns void
as $$
declare
v_info varchar(50):='no datos encontrados';
begin
perform dblink_connect('dbname=slave port=5432 host=192.168.56.101 user=postgres password=123');
perform dblink_open('p_cursor','select * from slave');
loop
perform dblink(
'dbname=master port=5432 host=192.168.56.102 user=postgres password=123','
update master set estatus =''C''
where fecha between ''01-feb-2022'' and ''02-feb-2022'' ');
insert into master
(select *
from dblink_fetch('p_cursor',1000)
as (compania integer, nombre varchar(30),fecha date,estatus varchar(5))
where not exists(select compania from master
where compania=compania
group by compania));
if not found then
raise notice '%',v_info;
end if;
exit;
end loop;
perform dblink_close('p_cursor');
perform dblink_disconnect();
end;
$$ language plpgsql;
create or replace function get_data_p(
)
returns void
as $$
declare
v_info varchar(50):='no datos encontrados';
begin
perform dblink_connect('dbname=slave port=5432 host=192.168.56.101 user=postgres password=123');
perform dblink_open('p_cursor','select * from slave');
loop
perform dblink(
'dbname=master port=5432 host=192.168.56.102 user=postgres password=123','
update master set estatus =''C''
where fecha between ''01-feb-2022'' and ''02-feb-2022'' ');
insert into master
(select *
from dblink_fetch('p_cursor',1000)
as (compania integer, nombre varchar(30),fecha date,estatus varchar(5))
where not exists(select compania from master
where compania=compania
group by compania));
if not found then
raise notice '%',v_info;
end if;
exit;
end loop;
perform dblink_close('p_cursor');
perform dblink_disconnect();
end;
$$ language plpgsql;
Valora esta pregunta


0