[firebase-br] CONSTRAINT - UNIQUE

Gabriel Bonzanini gabriel.bonzanini em gmail.com
Qua Ago 7 14:47:13 -03 2019


Mário, se você estiver usando Delphi, tente passar o valor do parâmetro
AsAnsiString ao invés de AsString.

Em qua, 7 de ago de 2019 13:38, Mário Reis <mariodosreyx em gmail.com>
escreveu:

> Boa tarde companheiros
> Uma situação bizarra que nunca me ocorreu antes! Tenho uma varavel nu
> S.Procedure assim definida
> DECLARE VARIABLE WDOCOBS TYPE OF COLUMN COBRANCAS.DOCOBS on de este , com
> 50 de comprimento está definido com charset WIN1252 e COLLATION PXW_INTL850
> (sempre usei assim e nunca até hoje tivera problemas)!
> porém hoje ao receber  carregar esta variavel com
> "ACRA0CGDI0CORE020190701003001000003" (onde aqui  o i aparece como um I em
> debug apresenta-se como um numero 1 romano, ou seja, traço por cima traço
> ao alto e traço por baixo.
> e o meu select não encontra nunca esta chave já se for hardcoded ,
> encontra!!!
> Assim, não encontra
> Serlect * from cobranca c1
> where c1.docobs=:wdocobs
> row_count=0;
> Assim,  encontra
> Serlect * from cobranca c1
> where c1.docobs='ACRA0CGDI0CORE020190701003001000003'
> row_count=1;
> Alguma ideia? Estou há horas a tentar entender isto
>
> Com os meus melhores cumprimentos
> Mário Agostinho Reis
> 919262146
>
> Esta mensagem contém informação de natureza confidencial e é
> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
> receber este email agradecemos que não o copie nem o reenvie e que nos
> notifique do ocorrido através do email de resposta.
>
>
> Gladiston Santana <gladiston em vidy.com.br> escreveu no dia terça, 6/08/2019
> à(s) 12:38:
>
> > constraint é uma regra de campo, aceita qualquer tipo de lógica que você
> > possa impor com os comandos SQL, neste caso usando algo como
> > COALESCE(VALUE,'')<>''.
> > Eu não gosto muito de manter nulos em campos de lookup, pois nulos tem de
> > ser tratados em agregadores e podem fazer-nos penar em algumas situações
> > então em muitas situações em faço assim, por exemplo, numa tabela de
> > clientes tem o campo de estado( END_UF), mas o estado informado deve
> > existir na tabela de estados(ADMIN_UF), contudo é permissível não
> informar
> > o estado, mas não quero nulos. Daí imponho uma regra assim:
> > CREATE TABLE CLIENTES (
> > ...
> >     END_UF   CHAR(2) DEFAULT '*' NOT NULL CHECK ((VALUE='*') OR
> >        (EXISTS(SELECT * FROM ADMIN_UF WHERE UF=VALUE))) */,
> > ...)
> > Na regra acima ou é um estado pré-cadastrado ou então é "*". Nulos não
> > entram.
> >
> > Sobre o unique, só me faz lembrar de indices, indices não subtraem ou
> negam
> > informações, apenas os ordena.
> > São permitidos expressões como usando coalesce para tratar nulos.
> > Normalmente o fazemos em conjunto com uma expressão matematica para
> > ordernar as melhores compras num leque de opções ou algo do genêro, sem a
> > intenção de provocar uma pesquisa mais rapida. Atualmente, com o advento
> de
> > tabelas temporarias e procedures selecionáveis é muito dificil
> justificar o
> > uso de indices desse tipo.
> >
> > [] ´s e sucesso.
> >
> > Em sex, 2 de ago de 2019 às 10:05, Moacir Kuhn <moacir em softin.com.br>
> > escreveu:
> >
> > > Senhores,
> > >
> > >
> > >
> > > È possível criar uma CONSTRAINT  - UNIQUE levando em consideração
> apenas
> > os
> > > registros que tenham conteúdo no campo desejado, desprezando os
> > > NULL/Brancos?
> > >
> > >
> > >
> > > Att,MOacir
> > >
> > >
> > >
> > ______________________________________________
> > 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
> >
> ______________________________________________
> 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