[firebase-br] Ajuda - INSERT INTO em bancos de dados diferentes com delphi
Julio F. Figueiredo
tuskinhu em gmail.com
Seg Abr 4 11:48:12 -03 2016
acho q sim, essa proc faz isso, embora sejam no mesmo server vc pode
apontar pra nuvem:
essa proc fica num banco local e pra executar passo os dados de um outro
banco, no seu caso pode ser o da nuvem
CREATE OR ALTER procedure STP_CARREGA_LOG (
NOME_BANCO varchar(100),
USUARIO varchar(20),
SENHA varchar(20),
ANOS smallint)
returns (
CONTA integer,
T_INI timestamp,
T_FIM timestamp)
as
declare variable V_SQL varchar(500);
declare variable V_SQL2 varchar(500);
declare variable V_SQL3 varchar(500);
declare variable SUBDOC integer;
declare variable USER_LOG integer;
declare variable COD_LOG integer;
declare variable COD_OPER integer;
declare variable DATA date;
declare variable DESCR varchar(300);
declare variable DOC integer;
declare variable HORA time;
declare variable ID_MOD integer;
declare variable DIAS integer;
begin
Dias = Anos * 365;
V_SQL = 'SELECT LOG.log, LOG.cod_operacao, LOG.data, LOG.descricao,
LOG.documento, LOG.subdocumento, ' ||
'LOG.Hora, LOG.id_modulo, LOG.usuario FROM LOG WHERE
(current_date - LOG.DATA) > ' ||
Cast (Dias as varchar(6));
conta = 0;
t_ini = Current_Timestamp;
for
EXECUTE STATEMENT
:v_sql
ON EXTERNAL :nome_banco -- caminho completo 'localhost:d:\db\db.fdb'
AS USER :usuario
PASSWORD :senha
Into
:cod_log,
:cod_oper,
:data,
:descr,
:doc,
:subdoc,
:hora,
:id_mod,
:user_log
DO
begin
conta = conta + 1;
v_sql2 = 'update Log set CONTROLE = ''G'' where log = ' ||
cast(cod_log as varchar(20));
Insert Into LOG (LOG, data, hora, id_modulo, usuario, cod_operacao,
descricao, documento, subdocumento)
Values (:cod_log, :data, :hora, :id_mod, :user_log, :cod_oper, :descr,
:doc, :subdoc);
EXECUTE STATEMENT :v_sql2
ON EXTERNAL :nome_banco
AS USER :usuario
PASSWORD :senha;
end
v_sql3 = 'delete from Log where CONTROLE = ''G'' ';
EXECUTE STATEMENT :v_sql3
ON EXTERNAL :nome_banco
AS USER :usuario
PASSWORD :senha;
t_fim = Current_Timestamp;
suspend;
end
________________________________________
Att,
*Julio F. Figueiredo*
*Analista de Sistemas*
Em 2 de abril de 2016 23:30, Carlos Midia <carlosmidia2013 em gmail.com>
escreveu:
> Boa noite, pessoal é possível usando o delphi e firebird dar um
> INSERT INTO no banco local pegando da tabela de outros banco de dados que
> no meu caso está hospedado em um servidor na nuvem.
>
> tipo:
> INSERT INTO ESTOQUE (ESTOQUE.IDEMPRESA, ESTOQUE.IDPRODUTO,
> ESTOQUE.QUANTIDADE)
>
> SELECT 1,PRODUTOS.ID,PRODUTOS.QUANTIDADE FROM PRODUTOS
>
> a tabela de produtos está em outro banco de dados
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>
Mais detalhes sobre a lista de discussão lista