[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