Sincronizar tabelas com o buffer-compare

171 views
Skip to first unread message

Fabiano Soares

unread,
Jun 4, 2014, 3:32:24 PM6/4/14
to progre...@googlegroups.com
Bom dia a todos,
alguém sabe se tenho como depois de usar o buffer-compare entre tabela A e B que são identicas
caso haja diferença atualizar apenas os campos diferentes na tabela A ?

Obrigado.

Jaime Dambros

unread,
Jun 5, 2014, 10:10:09 AM6/5/14
to progre...@googlegroups.com
Pode usar o buffer-copy para deixar os dois buffers iguais, não sei se o progress vai gravar só as diferenças, seria interessante fazer um teste, se dispara as triggers dos campos, ou pode fazer um assign condicional com o comando when, mas me pareceu uma solução muito feia, todo caso abaixo tem exemplo dos dois:

BUFFER-COMPARE teste TO bteste SAVE RESULT IN lOK.

/*isto*/
IF lOK = FALSE THEN
    BUFFER-COPY teste TO bteste.

/*ou isto*/
IF lOK = FALSE THEN
    ASSIGN
        teste.a = bteste.a WHEN teste.a <> bteste.a
        teste.b = bteste.b WHEN teste.b <> bteste.b.


--
Você recebeu essa mensagem porque está inscrito no grupo quot;Progress - 4GL" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para progress_4gl...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para progre...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/progress_4gl.
Para mais opções, acesse https://groups.google.com/d/optout.



--
Jaime Alex Dambros
Joinville - SC

Fabiano Soares da Silva

unread,
Jun 5, 2014, 10:15:33 AM6/5/14
to progre...@googlegroups.com
​Realmente a 2º opção não é muito bonita não mas é a mais viável ja que tem​
​são vários campos e alguns não podem ser alterados​.

Muito obrigado.

Jaime Dambros

unread,
Jun 5, 2014, 10:20:54 AM6/5/14
to progre...@googlegroups.com
Duas considerações, se o campo já tem o valor X não deve ter problema você mandar gravar nele o mesmo valor X, a não ser que a trigger seja disparada, que não sei se acontece.

Se tem campos que não pode alterar, mesmo que estejam diferentes dá uma olhada na clausula EXCEPT do comando buffer-copy, talvez te ajude.



--
Você recebeu essa mensagem porque está inscrito no grupo quot;Progress - 4GL" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para progress_4gl...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para progre...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/progress_4gl.
Para mais opções, acesse https://groups.google.com/d/optout.

Jaime Dambros

unread,
Jun 5, 2014, 10:22:36 AM6/5/14
to progre...@googlegroups.com
Esqueci de citar o buffer-compare também tem EXCEPT.
Reply all
Reply to author
Forward
0 new messages