[firebase-br] Precisava trocar um collate de um campo no FB3

Gladiston Santana gladiston em vidy.com.br
Seg Mar 23 10:28:57 -03 2020


Se você pretente mudar o collate apenas por causa das pesquisas, em muitas
situações você pode usar o collate na expressão de pesquisa, ex:
select * from clientes
where razao_social collate win_ptbr like '%fabricação%'

Ou pode criar um campo calculado
ALTER TABLE CLIENTES
ADD RAZAO_AS_PTBR COMPUTED BY (
  RAZAO_SOCIAL COLLATE WIN_PTBR )

nesse caso qualquer programa que referir-se a esse ' RAZAO_AS_PTBR' já
teria o collate acionado. A resposta do carlos é a mais conveniente, criar
um campo calculado serviria apenas para vc testar antes de aplicar uma
solução ou em alguns casos pode servir de POG para não quebrar TFields de
campos que foram removidos.

Em sex., 20 de mar. de 2020 às 15:31, Carlos H. Cantu <
listas em warmboot.com.br> escreveu:

> FB 3 não permite mais alterar as tabelas de sistema.
>
> Renomeie o campo atual
> Crie um novo com o collate certo
> Copie os dados de um pro outro
> Apague o antigo
>
> PS: Terá que desativar temporariamente qualquer regra de integridade,
> índice, etc. que envolva o campo antigo, e depois reativar.
>
> []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
>
>



Mais detalhes sobre a lista de discussão lista