Re: [firebase-br] AS USER :IN_USER PASSWORD :IN_PWD -- just for example WITH autonomous TRANSACTION -- note autonomous transaction
Mário Reis via lista <[email protected]> Thu, 2 Oct 2025 21:35:55 +0000
| Newsgroups | gmane.comp.db.firebase.portuguese |
|---|---|
| Message-ID | <CAF_dzrn0sinvsXnRGAq6PMGgCz+6wPfp0E+GzmBQbC38s5-iHw@mail.gmail.com> |
n=E3o s=F3 mandei =E0 lista: [email protected] Com os meus melhores cumprimentos M=E1rio Agostinho Reis 919262146 Esta mensagem cont=E9m informa=E7=E3o de natureza confidencial e =E9 exclusivamente dirigida ao(s) destinat=E1rio(s) indicado(s). Se, por engano, receber este email agradecemos que n=E3o o copie nem o reenvie e que nos notifique do ocorrido atrav=E9s do email de resposta. Rafael Barberi Moreira via lista <[email protected]> escreveu (quinta, 2/10/2025 =E0(s) 19:57): > Ol=E1 boa tarde, > > Recebi esta mensagem e pode ter conte=FAdo sens=EDvel e vindo por engano. > > A inten=E7=E3o =E9 informar, estou desconsiderando a mensagem. > > Boa sorte em seus trabalhos. > > Att, > > Rafael > > > > > Em qui., 2 de out. de 2025 =E0s 16:51, M=E1rio Reis via lista < > [email protected]> escreveu: > > > Gladiston, > > Esta constru=E7=E3o =E9 de Confian=E7a?! > > A ideia =E9 trazer da base de produ=E7=E3o os dados atuais e pass=E1-lo= s para uma > > base noa que estou migrando. > > Ora abaixo o Valor que est=E1 voltandoa da base externa(produ=E7=E3o) > > Pessoas.Altura =E9 '0.02' mas na verdade nesta base de migra=E7=E3o que > > exite esse valor em altura na base de produ=E7=E3o o valor em consulta > direta =E9 > > 1.72 ou 1.51 ou 1.55, 1.52 > > Assim n=E3o d=E1 para confiar assim h=E1 alguma outra forma de resolver= isto as > > dua tabelas s=E3o PESSOAS ent=E3o em mem=F3ria confunde-se s=F3 poder= =E1 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=3D1; > > > > -- APLICA=C7=C3O EM PRODU=C7=C3O > > sDB=3D'HostProducao.pt/3052:D:\Firebird\Fb30\Dados\GestACRA.FDB'; > > > > --' WHERE P.PESSOA_ID >=3D '||TRIM(CAST(:IN_ID AS VARCHAR(15)))|| > > -- sSql=3D > > -- ' Select P.Pessoa_id, P.Nome, P.Apelido, S.NOSOC_ID, s.DATADM From > > Pessoas P '|| > > -- ' Inner Join Socios S on S.Socios_ID=3DP.Pessoa_Id '|| > > -- ' Where S.NOSOC_ID >=3D '||TRIM(CAST( IN_ID AS VARCHAR(15)) ) ; > > -- ' INNER JOIN SOCIOS S ON S.SOCIOS_ID=3DP.PESSOA_ID '|| NO.S1 --5513 > > ID-8526 ... 8751 > > > > > > sSql =3D 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=E3o insere repetidos > > conta=3DROW_COUNT ; > > OUT_NOME=3D:wNOME ; > > OUT_APELIDO=3D:wAPELIDO; > > OUT_ID =3D:wPessoa_id; > > > > if (:wALTURA<>0) then > > If (:wALTURA=3D0.02) then -- <=3D tem bug e n=E3o =E9 meu ALTUR= A=3D0.02 =E9 > na > > base local - sem falar que eu n=E3o estou consultando a base local S= =F3 se > > internamente o sistema faz isso, mas > > -n=E3o =E9 percet= =EDvel. Na > > base EXTER=3D> wALTURA=3D1.52; -- > > :sDB=3D'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=3D:OUT_CONTA + 1; > > > > -- DO SUSPEND; > > WHEN ANY DO > > IN AUTONOMOUS TRANSACTION DO > > BEGIN > > xsqlcode=3DSQLCODE; > > xgdscode=3DGDSCODE; > > xSQLSTATE=3DSQLSTATE; > > > > sNote=3D'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=E1rio Agostinho Reis > > 919262146 > > > > Esta mensagem cont=E9m informa=E7=E3o de natureza confidencial e =E9 > > exclusivamente dirigida ao(s) destinat=E1rio(s) indicado(s). Se, por > engano, > > receber este email agradecemos que n=E3o o copie nem o reenvie e que nos > > notifique do ocorrido atrav=E9s 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=3D1107 > > 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=3D1107 > 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.fi= rebase.com.br/fb/artigo.php?id=3D1107 Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista= .html