[firebase-br] Replicar Dados

bzottis em ig.com.br bzottis em ig.com.br
Sex Dez 5 13:59:08 -03 2014


 

TRIGGER NA TABELA CTAREC 

CREATE TRIGGER SITE_CTAREC FOR CTAREC
ACTIVE AFTER INSERT OR UPDATE POSITION 19
AS
BEGIN 

if (inserting) then
 BEGIN 

EXECUTE PROCEDURE SP_SITE_CTAREC(new.COD_CONTA, new.COD_CLIENTE,
new.VCTO_ORIGINAL, new.VENCIMENTO, new.COD_USUARIO, new.PAGO,
 new.DATA_PGTO, new.VALOR, new.DESCONTO, new.DESCONTO_TAXA,
new.TOTAL_PAGO, new.JUROS,
 new.DESPESAS_EXTRAS, new.KILOS_EXCEDENTES, new.TAXA_RECOLHIMENTO,
new.BOMBONAS, new.FAR_MTRS,
 new.SITUACAO, (SELECT B.NOSSO_NUMERO FROM BOLETOS B WHERE B.CONTANO =
NEW.COD_CONTA) ,
 (SELECT B.CARTEIRA FROM BOLETOS B WHERE B.CONTANO = NEW.COD_CONTA), 'N'
);
 end else
 if (UPDATING) then
 begin
 if ((new.DELETADO = 'N')and(new.RENEGOCIADO = 'N')) then
 begin

 EXECUTE PROCEDURE SP_SITE_CTAREC(new.COD_CONTA, new.COD_CLIENTE,
new.VCTO_ORIGINAL, new.VENCIMENTO, new.COD_USUARIO, new.PAGO,
 new.DATA_PGTO, new.VALOR, new.DESCONTO, new.DESCONTO_TAXA,
new.TOTAL_PAGO, new.JUROS,
 new.DESPESAS_EXTRAS, new.KILOS_EXCEDENTES, new.TAXA_RECOLHIMENTO,
new.BOMBONAS, new.FAR_MTRS,
 new.SITUACAO, (SELECT B.NOSSO_NUMERO FROM BOLETOS B WHERE B.CONTANO =
NEW.COD_CONTA) ,
 (SELECT B.CARTEIRA FROM BOLETOS B WHERE B.CONTANO = NEW.COD_CONTA), 'N'
);

 end else
 if ((new.DELETADO = 'S')OR(new.RENEGOCIADO = 'S')) then
 begin

 EXECUTE PROCEDURE SP_SITE_CTAREC(new.COD_CONTA, new.COD_CLIENTE,
new.VCTO_ORIGINAL, new.VENCIMENTO, new.COD_USUARIO, new.PAGO,
 new.DATA_PGTO, new.VALOR, new.DESCONTO, new.DESCONTO_TAXA,
new.TOTAL_PAGO, new.JUROS,
 new.DESPESAS_EXTRAS, new.KILOS_EXCEDENTES, new.TAXA_RECOLHIMENTO,
new.BOMBONAS, new.FAR_MTRS,
 new.SITUACAO, (SELECT B.NOSSO_NUMERO FROM BOLETOS B WHERE B.CONTANO =
NEW.COD_CONTA) ,
 (SELECT B.CARTEIRA FROM BOLETOS B WHERE B.CONTANO = NEW.COD_CONTA), 'S'
);
 END 

end 

END^ 

SET TERM ; ^ 

PROCEDURE PARA CTAREC 

SET TERM ^ ; 

CREATE PROCEDURE SP_SITE_CTAREC (
 cod_conta integer,
 cod_cliente integer,
 vcto_original date,
 vencimento date,
 cod_usuario integer,
 pago char(1),
 data_pgto date,
 valor numeric(18,2),
 desconto numeric(18,2),
 desconto_taxa double precision,
 total_pago numeric(18,2),
 juros numeric(18,2),
 despesas_extras numeric(18,2),
 kilos_excedentes numeric(18,2),
 taxa_recolhimento numeric(18,2),
 bombonas numeric(18,2),
 far_mtrs varchar(300),
 situacao varchar(120),
 nosso_numero varchar(35),
 carteira varchar(10),
 deletado char(1))
as
declare variable banco varchar(150);
declare variable usuario_bd varchar(50);
declare variable senha_bd varchar(50);
declare variable sql blob sub_type 1 segment size 240 character set
win1252;
BEGIN 

BANCO = 'externo';/* ou '192.168.1.10:D:BDEXTERNO.FDB';*/
 USUARIO_BD = 'SYSDBA';
 SENHA_BD = 'masterkey'; 

SQL = 'INSERT INTO CTAREC (COD_CONTA, COD_CLIENTE, VCTO_ORIGINAL,
VENCIMENTO, COD_USUARIO, PAGO, DATA_PGTO, VALOR, '
 || ' DESCONTO, DESCONTO_TAXA, TOTAL_PAGO, JUROS, DESPESAS_EXTRAS,
KILOS_EXCEDENTES, TAXA_RECOLHIMENTO, BOMBONAS, '
 || ' FAR_MTRS, SITUACAO, NOSSO_NUMERO, CARTEIRA, DELETADO) '
 || 'VALUES ('
 || ' :pCOD_CONTA, :pCOD_CLIENTE, :pVCTO_ORIGINAL, :pVENCIMENTO,
:pCOD_USUARIO, :pPAGO, :pDATA_PGTO,'
 || ' :pVALOR, :pDESCONTO, :pDESCONTO_TAXA, :pTOTAL_PAGO, :pJUROS,
:pDESPESAS_EXTRAS, :pKILOS_EXCEDENTES,'
 || ' :pTAXA_RECOLHIMENTO, :pBOMBONAS, :pFAR_MTRS, :pSITUACAO,
:pNOSSO_NUMERO, :pCARTEIRA, :pDELETADO);'; 

EXECUTE STATEMENT (:SQL)(pCOD_CONTA := :COD_CONTA, pCOD_CLIENTE :=
:COD_CLIENTE, pVCTO_ORIGINAL := :VCTO_ORIGINAL,
 pVENCIMENTO := :VENCIMENTO, pCOD_USUARIO := :COD_USUARIO, pPAGO :=
:PAGO, pDATA_PGTO := :DATA_PGTO,
 pVALOR := :VALOR, pDESCONTO := :DESCONTO, pDESCONTO_TAXA :=
:DESCONTO_TAXA, pTOTAL_PAGO := :TOTAL_PAGO,
 pJUROS := :JUROS, pDESPESAS_EXTRAS := :DESPESAS_EXTRAS,
pKILOS_EXCEDENTES := :KILOS_EXCEDENTES,
 pTAXA_RECOLHIMENTO := :TAXA_RECOLHIMENTO, pBOMBONAS := :BOMBONAS,
pFAR_MTRS := :FAR_MTRS,
 pSITUACAO := :SITUACAO, pNOSSO_NUMERO := :NOSSO_NUMERO, pCARTEIRA :=
:CARTEIRA, pDELETADO := :DELETADO) 

ON EXTERNAL :BANCO
 AS USER :USUARIO_BD PASSWORD :SENHA_BD
 WITH COMMON TRANSACTION; 

END^ 

SET TERM ; ^ 

GRANT EXECUTE ON PROCEDURE SP_SITE_CTAREC TO SYSDBA; 

  


Mais detalhes sobre a lista de discussão lista