[firebase-br] AS USER :IN_USER PASSWORD :IN_PWD -- just for example WITH autonomous TRANSACTION -- note autonomous transaction

Mário Reis mariodosreyx em gmail.com
Quinta Outubro 2 18:35:55 -03 2025


não só mandei à lista: lista em firebase.com.br
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Rafael Barberi Moreira via lista <lista em firebase.com.br> escreveu (quinta,
2/10/2025 à(s) 19:57):

> Olá boa tarde,
>
> Recebi esta mensagem e pode ter conteúdo sensível e vindo por engano.
>
> A intenção é informar, estou desconsiderando a mensagem.
>
> Boa sorte em seus trabalhos.
>
> Att,
>
> Rafael
>
>
>
>
> Em qui., 2 de out. de 2025 às 16:51, Mário Reis via lista <
> lista em firebase.com.br> escreveu:
>
> > Gladiston,
> > Esta construção é de Confiança?!
> > A ideia é trazer da base de produção os dados atuais e passá-los para uma
> > base noa que estou migrando.
> > Ora abaixo o Valor que está voltandoa da base externa(produção)
> > Pessoas.Altura é '0.02'  mas na verdade nesta base de migração que
> > exite esse valor em altura na base de produção o valor em consulta
> direta é
> > 1.72 ou 1.51 ou 1.55, 1.52
> > Assim não dá para confiar assim há alguma outra forma de resolver isto as
> > dua tabelas são PESSOAS então em memória confunde-se só poderá ser um bug
> >
> > CREATE PROCEDURE CONSULTA_EXTERNA_PESSOAS(
> >   IN_USER TYPE OF USERID,
> >   IN_PWD VARCHAR(20),
> >   IN_ID SMALLINT)
> > RETURNS(
> >   OUT_CONTA INTEGER,
> >   OUT_ID BIGINT,
> >   OUT_NOME VARCHAR(50),
> >   OUT_APELIDO VARCHAR(20),
> >   OUT_DTADM TYPE OF COLUMN SOCIOS.DATADM,
> >   WPESSOA_ID TYPE OF COLUMN PESSOAS.PESSOA_ID,
> >   WTITULO_ID TYPE OF COLUMN PESSOAS.TITULO_ID,
> >   WAPELIDO TYPE OF COLUMN PESSOAS.APELIDO,
> >   WNOME TYPE OF COLUMN PESSOAS.NOME,
> >   WTIPO_ID TYPE OF COLUMN PESSOAS.TIPO_ID,
> >   WNOBI TYPE OF COLUMN PESSOAS.NOBI,
> >   WARQIDENT TYPE OF COLUMN PESSOAS.ARQIDENT,
> >   WDATEMIBI TYPE OF COLUMN PESSOAS.DATEMIBI,
> >   WSEXO TYPE OF COLUMN PESSOAS.SEXO,
> >   WESTCIVIL TYPE OF COLUMN PESSOAS.ESTCIVIL,
> >   WDAT_NASC TYPE OF COLUMN PESSOAS.DAT_NASC,
> >   WNIF TYPE OF COLUMN PESSOAS.NIF,
> >   WRFEMIT_NIF TYPE OF COLUMN PESSOAS.RFEMIT_NIF,
> >   WDATNIF TYPE OF COLUMN PESSOAS.DATNIF,
> >   WNOSEGSOCIAL TYPE OF COLUMN PESSOAS.NOSEGSOCIAL,
> >   WRFEMIT_SEGSOC TYPE OF COLUMN PESSOAS.RFEMIT_SEGSOC,
> >   WDATSEGSOC TYPE OF COLUMN PESSOAS.DATSEGSOC,
> >   WCONCNASC_ID TYPE OF COLUMN PESSOAS.CONCNASC_ID,
> >   WFREGNASC_ID TYPE OF COLUMN PESSOAS.FREGNASC_ID,
> >   WPROFISSO_ID TYPE OF COLUMN PESSOAS.PROFISSO_ID,
> >   WEMPRESA_ID TYPE OF COLUMN PESSOAS.EMPRESA_ID,
> >   WRELACAO_ID TYPE OF COLUMN PESSOAS.RELACAO_ID,
> >   WENTMST_ID TYPE OF COLUMN PESSOAS.ENTMST_ID,
> >   WSITUAC_ID TYPE OF COLUMN PESSOAS.SITUAC_ID,
> >   WSINDICATO_ID TYPE OF COLUMN PESSOAS.SINDICATO_ID,
> >   WILHA_ID TYPE OF COLUMN PESSOAS.ILHA_ID,
> >   WNASC_RES TYPE OF COLUMN PESSOAS.NASC_RES,
> >   WUSERID TYPE OF COLUMN PESSOAS.USERID,
> >   WESTACAO TYPE OF COLUMN PESSOAS.ESTACAO,
> >   WDATA TYPE OF COLUMN PESSOAS."DATA",
> >   WHORA TYPE OF COLUMN PESSOAS.HORA,
> >   WSITU TYPE OF COLUMN PESSOAS.SITU,
> >   WACCAO TYPE OF COLUMN PESSOAS.ACCAO,
> >   WDEPENDE_ID TYPE OF COLUMN PESSOAS.DEPENDE_ID,
> >   WDD TYPE OF COLUMN PESSOAS.DD,
> >   WCC TYPE OF COLUMN PESSOAS.CC,
> >   WFF TYPE OF COLUMN PESSOAS.FF,
> >   WDATA_C TYPE OF COLUMN PESSOAS.DATA_C,
> >   WNOBI12 TYPE OF COLUMN PESSOAS.NOBI12,
> >   WNACIONALIDADE TYPE OF COLUMN PESSOAS.NACIONALIDADE,
> >   WNMPAI TYPE OF COLUMN PESSOAS.NMPAI,
> >   WINDEVTPAI TYPE OF COLUMN PESSOAS.INDEVTPAI,
> >   WNMMAE TYPE OF COLUMN PESSOAS.NMMAE,
> >   WINDEVTMAE TYPE OF COLUMN PESSOAS.INDEVTMAE,
> >   WNUTSNS TYPE OF COLUMN PESSOAS.NUTSNS,
> >   WLOC_PEDIDO TYPE OF COLUMN PESSOAS.LOC_PEDIDO,
> >   WVERSAOCARTAO TYPE OF COLUMN PESSOAS.VERSAOCARTAO,
> >   WESTADOCARTAO TYPE OF COLUMN PESSOAS.ESTADOCARTAO,
> >   WDATVALIDAD TYPE OF COLUMN PESSOAS.DATVALIDAD,
> >   WALTURA TYPE OF COLUMN PESSOAS.ALTURA,
> >   WDTHRPRT TYPE OF COLUMN PESSOAS.DTHRPRT,
> >   WDHPRINT TYPE OF COLUMN PESSOAS.DHPRINT,
> >   WCCUSTOS TYPE OF COLUMN PESSOAS.CCUSTOS,
> >   WID_PES_LOC TYPE OF COLUMN PESSOAS.PESSOA_ID)
> > AS
> > DECLARE VARIABLE SDB VARCHAR(255);
> > DECLARE VARIABLE SSQL VARCHAR(25000);
> > DECLARE VARIABLE CONTA INTEGER;
> > DECLARE VARIABLE XSQLCODE INTEGER;
> > DECLARE VARIABLE XGDSCODE INTEGER;
> > DECLARE VARIABLE XSQLSTATE VARCHAR(100);
> > DECLARE VARIABLE SNOTE VARCHAR(100);
> > BEGIN
> >
> >  OUT_CONTA=1;
> >
> > -- APLICAÇÃO EM PRODUÇÃO
> >  sDB='HostProducao.pt/3052:D:\Firebird\Fb30\Dados\GestACRA.FDB';
> >
> >  --' WHERE P.PESSOA_ID >= '||TRIM(CAST(:IN_ID AS VARCHAR(15)))||
> >  --  sSql=
> >  --   ' Select P.Pessoa_id, P.Nome, P.Apelido, S.NOSOC_ID, s.DATADM From
> > Pessoas P '||
> >  --   ' Inner Join Socios S on S.Socios_ID=P.Pessoa_Id '||
> >  --   ' Where S.NOSOC_ID >= '||TRIM(CAST( IN_ID AS VARCHAR(15)) ) ;
> >  --  ' INNER JOIN SOCIOS S ON S.SOCIOS_ID=P.PESSOA_ID '|| NO.S1 --5513
> > ID-8526 ... 8751
> >
> >
> > sSql = TRIM(
> > ' SELECT '||
> > ' COALESCE(P.PESSOA_ID, 0) AS PESSOA_ID, '||
> > ' COALESCE(P.TITULO_ID, 0) AS TITULO_ID, '||
> > ' COALESCE(P.APELIDO, '''') AS APELIDO, '||
> > ' COALESCE(P.NOME, ''SEM NOME'') AS NOME, '||
> > ' COALESCE(P.TIPO_ID, '''') AS TIPO_ID, '||
> > ' COALESCE(P.NOBI, '''') AS NOBI, '||
> > ' COALESCE(P.ARQIDENT, '''') AS ARQIDENT, '||
> > ' COALESCE(P.DATEMIBI, DATE ''1900-01-01'') as DATEMIBI, '||
> > ' COALESCE(P.SEXO, '' '') AS SEXO, '||
> > ' COALESCE(P.ESTCIVIL, '' '') AS ESTCIVIL, '||
> > ' COALESCE(P.DAT_NASC, DATE ''1900-01-01'') as DAT_NASC, '||
> > ' COALESCE(P.NIF, ''000000000'') AS NIF, '||
> > ' COALESCE(P.RFEMIT_NIF, '''') AS RFEMIT_NIF, '||
> > ' COALESCE(P.DATNIF, DATE ''1900-01-01'') as DATNIF, '||
> > ' COALESCE(P.NOSEGSOCIAL, ''00000000000'') AS NOSEGSOCIAL, '||
> > ' COALESCE(P.RFEMIT_SEGSOC, '''') AS RFEMIT_SEGSOC, '||
> > ' COALESCE(P.DATSEGSOC, DATE ''1900-01-01'') as DATSEGSOC, '||
> > ' COALESCE(P.CONCNASC_ID, 0) AS CONCNASC_ID, '||
> > ' COALESCE(P.FREGNASC_ID, 0) AS FREGNASC_ID, '||
> > ' COALESCE(P.PROFISSO_ID, 0) AS PROFISSO_ID, '||
> > ' COALESCE(P.EMPRESA_ID, 0) AS EMPRESA_ID, '||
> > ' COALESCE(P.RELACAO_ID, 0) AS RELACAO_ID, '||
> > ' COALESCE(P.ENTMST_ID, 0) AS ENTMST_ID, '||
> > ' COALESCE(P.SITUAC_ID, '' '') AS SITUAC_ID, '||
> > ' COALESCE(P.SINDICATO_ID, 0) AS SINDICATO_ID, '||
> > ' COALESCE(P.ILHA_ID, 0) AS ILHA_ID, '||
> > ' COALESCE(P.NASC_RES, '' '') AS NASC_RES, '||
> > ' COALESCE(P.USERID, '''') AS USERID, '||
> > ' COALESCE(P.ESTACAO, '''') AS ESTACAO, '||
> > ' COALESCE(P."DATA", DATE ''1900-01-01'') AS "DATA", '||
> > ' COALESCE(P.HORA, TIME ''00:00:00'') AS HORA, '||
> > ' COALESCE(P.SITU, '' '') AS SITU, '||
> > ' COALESCE(P.ACCAO, ''000'') AS ACCAO, '||
> > ' COALESCE(P.DEPENDE_ID, 0) AS DEPENDE_ID, '||
> > ' COALESCE(P.DD, 0) AS DD, '||
> > ' COALESCE(P.CC, 0) AS CC, '||
> > ' COALESCE(P.FF, 0) AS FF, '||
> > ' COALESCE(P.DATA_C, DATE ''1900-01-01'') AS DATA_C, '||
> > ' COALESCE(P.NOBI12, '''') AS NOBI12, '||
> > ' COALESCE(P.NACIONALIDADE, '''') AS NACIONALIDADE, '||
> > ' COALESCE(P.NMPAI, '''') AS NMPAI, '||
> > ' COALESCE(P.INDEVTPAI, '''') AS INDEVTPAI, '||
> > ' COALESCE(P.NMMAE, '''') AS NMMAE, '||
> > ' COALESCE(P.INDEVTMAE, '''') AS INDEVTMAE, '||
> > ' COALESCE(P.NUTSNS, '''') AS NUTSNS, '||
> > ' COALESCE(P.LOC_PEDIDO, '''') AS LOC_PEDIDO, '||
> > ' COALESCE(P.VERSAOCARTAO, '''') AS VERSAOCARTAO, '||
> > ' COALESCE(P.ESTADOCARTAO, '''') AS ESTADOCARTAO, '||
> > ' COALESCE(P.DATVALIDAD, TIMESTAMP ''1900-01-01 00:00:00'') AS
> DATVALIDAD,
> > '||
> > ' COALESCE(P.ALTURA, 0)  AS ALTURA, '||
> > ' COALESCE(P.DTHRPRT, '''') AS DTHRPRT, '||
> > ' COALESCE(P.DHPRINT, TIMESTAMP ''1900-01-01 00:00:00'') AS DHPRINT, '||
> > ' COALESCE(P.CCUSTOS, 0) AS CCUSTOS '||
> > ' FROM PESSOAS P '||
> > ' WHERE P.PESSOA_ID BETWEEN 8530 AND 8666  '||
> > ' ORDER BY P.PESSOA_ID'
> > ) ;
> >
> >
> >
> >   FOR
> >    EXECUTE STATEMENT
> >       ( :sSql )
> >       ON EXTERNAL DATA SOURCE :sDB
> >       AS USER :IN_USER PASSWORD :IN_PWD -- just for example
> >       WITH autonomous TRANSACTION -- note autonomous transaction
> >       INTO
> >      :wPESSOA_ID, :wTITULO_ID, :wAPELIDO, :wNOME, :wTIPO_ID, :wNOBI,
> > :wARQIDENT, :wDATEMIBI, :wSEXO,
> >      :wESTCIVIL, :wDAT_NASC, :wNIF, :wRFEMIT_NIF, :wDATNIF,
> > :wNOSEGSOCIAL,:wRFEMIT_SEGSOC,
> >      :wDATSEGSOC, :wCONCNASC_ID, :wFREGNASC_ID, :wPROFISSO_ID,
> > :wEMPRESA_ID, :wRELACAO_ID,
> >      :wENTMST_ID, :wSITUAC_ID, :wSINDICATO_ID, :wILHA_ID, :wNASC_RES,
> > :wUSERID, :wESTACAO, :wDATA,
> >      :wHORA, :wSITU, :wACCAO, :wDEPENDE_ID, :wDD, :wCC, :wFF, :wDATA_C,
> > :wNOBI12, :wNACIONALIDADE,
> >      :wNMPAI, :wINDEVTPAI,:wNMMAE, :wINDEVTMAE, :wNUTSNS, :wLOC_PEDIDO,
> > :wVERSAOCARTAO, :wESTADOCARTAO,
> >      :wDATVALIDAD, :wALTURA, :wDTHRPRT, :wDHPRINT, :wCCUSTOS
> >   DO
> >   BEGIN
> >
> >  --Não insere repetidos
> >     conta=ROW_COUNT   ;
> >     OUT_NOME=:wNOME ;
> >     OUT_APELIDO=:wAPELIDO;
> >     OUT_ID =:wPessoa_id;
> >
> >     if (:wALTURA<>0) then
> >      If (:wALTURA=0.02) then  --   <= tem bug e não é meu ALTURA=0.02 é
> na
> > base local  - sem falar que eu não estou consultando a base local Só se
> > internamente o sistema faz isso, mas
> >                                                    -não é  percetível. Na
> > base EXTER=> wALTURA=1.52;    --
> > :sDB='HostProducao.pt/3052:D:\Firebird\Fb30\Dados\GestACRA.FDB';
> >
> >    EXECUTE PROCEDURE PESSOAS_INS_UPD(
> >       :wPESSOA_ID,
> >       :wTITULO_ID,
> >       :wAPELIDO,
> >       :wNOME,
> >       :wTIPO_ID,
> >       :wNOBI,
> >       :wARQIDENT,
> >       :wDATEMIBI,
> >       :wSEXO,
> >       :wESTCIVIL,
> >       :wDAT_NASC,
> >       :wNIF,
> >       :wRFEMIT_NIF,
> >       :wDATNIF,
> >       :wNOSEGSOCIAL,
> >       :wRFEMIT_SEGSOC,
> >       :wDATSEGSOC,
> >       :wCONCNASC_ID,
> >       :wFREGNASC_ID,
> >       :wPROFISSO_ID,
> >       :wEMPRESA_ID,
> >       :wRELACAO_ID,
> >       :wENTMST_ID,
> >       :wSITUAC_ID,
> >       :wSINDICATO_ID,
> >       :wILHA_ID,
> >       :wNASC_RES,
> >       :wUSERID,
> >       :wESTACAO,
> >       :wDATA,
> >       :wHORA,
> >       :wSITU,
> >       :wACCAO,
> >       :wDEPENDE_ID,
> >       :wDD,
> >       :wCC,
> >       :wFF,
> >       :wDATA_C,
> >       :wNOBI12,
> >       :wNACIONALIDADE,
> >       :wNMPAI,
> >       :wINDEVTPAI,
> >       :wNMMAE,
> >       :wINDEVTMAE,
> >       :wNUTSNS,
> >       :wLOC_PEDIDO,
> >       :wVERSAOCARTAO,
> >       :wESTADOCARTAO,
> >       :wDATVALIDAD,
> >       :wALTURA,
> >       :wDTHRPRT,
> >       :wDHPRINT,
> >       :wCCUSTOS
> >       )   ;
> >
> >
> >    OUT_CONTA=:OUT_CONTA + 1;
> >
> >  -- DO SUSPEND;
> > WHEN ANY DO
> >  IN AUTONOMOUS TRANSACTION DO
> >   BEGIN
> >     xsqlcode=SQLCODE;
> >     xgdscode=GDSCODE;
> >     xSQLSTATE=SQLSTATE;
> >
> >    sNote='Falha ao importar';
> >   INSERT INTO IMPORT_ERROR_LOG (
> >     SSOURCE_FILE,
> >     PPK_SOURCE,
> >     ISQLCODE,
> >     IGDSCODE,
> >     SSQLSTATE,
> >     NOTE)
> >   VALUES (
> >     :SDB,
> >     CAST(:wPESSOA_ID AS VARCHAR(50)),
> >     :xSQLCODE,
> >     :xGDSCODE,
> >     :XSQLSTATE,
> >     :sNOTE);
> >  END
> >
> >
> >  END
> >
> >
> >
> >
> > END;
> > Com os meus melhores cumprimentos
> > Mário Agostinho Reis
> > 919262146
> >
> > Esta mensagem contém informação de natureza confidencial e é
> > exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por
> engano,
> > receber este email agradecemos que não o copie nem o reenvie e que nos
> > notifique do ocorrido através do email de resposta.
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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