create table check

22/08/2008 - 16:45 por daniel | Informe spam
Hola a todos

necesito cuando creo una tabla en el msde aplicar una restriccion check para
q el campo nombre este siempre en mayuscula.
por ej

create table aux (nombre varchar (10) not null check(upper(nombre)))

se puede, como seria? este ejemplo no funciona...

gracias

daniel

Preguntas similare

Leer las respuestas

#1 Gustavo Larriera (MVP)
22/08/2008 - 17:24 | Informe spam
ALTER TABLE dbo.aux
ADD CONSTRAINT CK_NombreMayusc
CHECK (upper(Nombre) = Nombre)

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"daniel" wrote:

Mostrar la cita
#2 Alejandro Mesa
22/08/2008 - 20:26 | Informe spam
Daniel,

Recuerda que esa expresion dependera de la collation que este usando esa
columna. Si la collation no es "CI - case sensitive", entonces tendras que
forzarla mediante el uso de COLLATE.

Ejemplo:

use tempdb
go

create table t (
c1 varchar(25) collate Modern_Spanish_CI_AS,
c2 varchar(25) collate Modern_Spanish_BIN2
)
go

insert into t(c1, c2) values('sql server 2005', 'sql server 2008')
insert into t(c1, c2) values('SQL SERVER 2011', 'SQL SERVER 2011')
go

select
c1
from
t
where
c1 = upper(c1)
go

select
c2
from
t
where
c2 = upper(c2)
go

select
c1, c2
from
t
where
c1 = upper(c1) collate Modern_Spanish_CS_AS
go

drop table t
go


AMB


"daniel" wrote:

Mostrar la cita
#3 Alejandro Mesa
22/08/2008 - 20:30 | Informe spam
Correccion,

Mostrar la cita
Si la collation no es "CS - case sensitive"...


AMB


"Alejandro Mesa" wrote:

Mostrar la cita
#4 danielagui
24/08/2008 - 01:22 | Informe spam
no me funciona, no me da error cuando creo la restriccion, pero cuando
inserto el registro no lo convierte a mayuscula, estoy probando de
inserta nombre todos en minuscula... alguna otra sugerencia?


gracias

DAniel

On 22 ago, 12:24, Gustavo Larriera (MVP)
wrote:
Mostrar la cita
#5 Juan Diego Bueno
24/08/2008 - 02:49 | Informe spam
Hola Daniel:

escribió en el mensaje de
noticias:
Mostrar la cita
Es que una cosa es que tu le digas que el valor del campo tenga que estar en
mayúsculas y otra muy diferente que cuando insertes un valor, te lo
convierta a mayúsculas.

Podrías hacer un trigger "on insert" de forma que al insertarlo, lo
cambiara automáticamente. Igual para las actualizaciones

Saludos
Ads by Google
Search Busqueda sugerida