Re: [firebase-br] AS USER :IN_USER PASSWORD :IN_PWD -- just for example WITH autonomous TRANSACTION -- note autonomous transaction
Rafael Barberi Moreira via lista <[email protected]> Thu, 2 Oct 2025 16:56:22 -0300
| Newsgroups | gmane.comp.db.firebase.portuguese |
|---|---|
| Message-ID | <CAFco9+dH6zajXQM0Qnc4J4gbmg4w7cZkfaXq2ER+=w6xwtvAig@mail.gmail.com> |
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-los = 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 di= reta =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 i= sto 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 ALTURA= =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=EDv= el. 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 enga= no, > 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.fi= rebase.com.br/fb/artigo.php?id=3D1107 Para consultar mensagens antigas: http://www.firebase.com.br/pesquisa_lista= .html