[firebase-br] SQL que funcionava no FB 2.1 não funciona como esperado no FB 3.0

Fausto Cintra Junior fcj001 em gmail.com
Qua Jan 15 11:04:07 -03 2020


Explicado então por que funcionava no FB 2.1.
Um mistério a menos na minha vida.   ;-)

Valeu!

Em qua., 15 de jan. de 2020 às 10:50, Carlos H. Cantu <
listas em warmboot.com.br> escreveu:

> Retirado do fb.conf do FB 2.5:
>
> # Prior to Firebird 2.5 the SET clause of the UPDATE statement assigned
> # columns in the user-defined order with the NEW column values being
> # immediately accessible to the subsequent assignments. This did not
> # conform to the SQL standard. Starting with Firebird 2.5, only OLD column
> # values are accessible to all the assignments of the SET clause.
> #
> # Example of the old vs new behaviour:
> #
> # UPDATE T SET A = B, B = A
> # old result: A gets equal to B, B doesn't change
> # new result: A and B get their values exchanged
> #
> # Change this configuration option to 1 (true) only if your SQL code relies
> # on the legacy semantics of the SET clause. It's provided as a temporary
> # solution for backward compatibility issues and will be deprecated in
> # future Firebird versions.
> #
> # Type: boolean
> #
> #OldSetClauseSemantics = 0
>
> PS: O parâmetro OldSetClauseSemantics foi descontinuado no FB 3.
>
> []s
> Carlos H. Cantu
> eBook Guia de Migração para o FB 3 - www.firebase.com.br/guiafb3.php
> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>
> FCJ> Pessoal,
>
> FCJ> O SQL abaixo é para aplicar um desconto no valor dos itens de um
> pedido.
> FCJ> Funcionava no FB 2.1 mas no FB 3.0 se comporta de maneira diferente.
>
> FCJ> update pedidos_det
> FCJ> set desconto=10,
> FCJ> valunitdesc=round(valunit-(valunit*desconto/100),2,.
> FCJ> total=valunitdesc*qtde
> FCJ> where id_pedidos=123;
>
> FCJ> Executei pelo IBExpert.
> FCJ> Na primeira execução só a coluna desconto foi setada para 10;
> valunitdesc e
> FCJ> total permaneceram com os valores que já tinham.
>
> FCJ> Pesquisei no Release Notes mas não consegui nenhuma informação.
>
> FCJ> Alguém sabe como fazer isso?
>
> FCJ> []'s
> FCJ> ______________________________________________
> FCJ> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> FCJ> Para saber como gerenciar/excluir seu cadastro na lista, use:
> FCJ> http://www.firebase.com.br/fb/artigo.php?id=1107
> FCJ> Para consultar mensagens antigas:
> FCJ> 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