Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Distincion de mayusculas en campos unicos (https://www.clubdelphi.com/foros/showthread.php?t=13795)

xerkan 31-08-2004 12:15:37

Distincion de mayusculas en campos unicos
 
Tengo una tabla que contiene una constraint del tipo:

CONSTRAINT nombre UNIQUE(campo)

el caso es que el sistema funciona siempre y cuando en el campo se ponga un valor exactamente igual, pero me gustaria que no se pudiera poner en los campos alfanumericos campos iguales pero uno en minusculas y otro en mayusculas (que se consideren como campos repetidos "campo" y "CAMPO")

Gydba 31-08-2004 13:00:43

Hola,

No podrías hacerlo con un trigger y un Upper del campo?

xerkan 31-08-2004 13:50:27

Si que podria hacer un triger que hiciera un select * where Upper(campo)=Upper(valor) y si devuelve un valor que saltara un error es mas lo podria hacer en delphi pero queria saber si hay alguna forma mas sencilla en el contraint de la sentencia sql

jzginez 01-09-2004 16:27:40

Si creas un dominio del tipo varchar(x) para tu campo unico y que este solo acepte mayusculas (no tengo en este momento el código deja que lo voy a buscar, era de un ejemplo que encontre una vez)

jachguate 01-09-2004 18:45:46

Cita:

Empezado por xerkan
Si que podria hacer un triger que hiciera un select * where Upper(campo)=Upper(valor) y si devuelve un valor que saltara un error es mas lo podria hacer en delphi pero queria saber si hay alguna forma mas sencilla en el contraint de la sentencia sql

Lo conveniente es tener establecido el constraint, y en el trigger before insert/before update, asegurarse de convertir el valor siempre a mayúsculas o a minúsculas, puesto que interbase/firebird no tiene indices insensibles a mayúsculas/minusculas. Todo en esta bd, es case sensitive.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 13:50:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi