PDA

Ver la Versión Completa : instruccion CHECK


CHiCoLiTa
28-02-2005, 20:51:21
Hola, que tal?

Se que con la instruccion check podemos definir que valores admite un campo, o que rango, o incluso jugar con intervalos haciendo sumas de otrs campos, siempre de la misma fila

Pero mi pregunta es,
¿ Se puede poner algo parecido a un IF dentro de check ?
Es decir, yo puedo definir de algun modo con esta intruccion que si el campo precio tiene valor, el campo descuento tenga que tener valor por narices? Esta claro que ene l caso que no haya precio, el campo puede estar vacio

marcoszorrilla
28-02-2005, 21:30:50
Creo que la solución a lo que propones puede ser a nivel de motor y en este caso sería oportuno elegir un campo Computed by , o de lo contrario hacer el cálculo por código desde le programa en el evento oportuno.

Un Saludo.

CHiCoLiTa
01-03-2005, 18:04:58
Creo que me exprese mal. Estoy hablando solo de SQL Server.
Por descontado que mi programa validara los datos. De hecho ahora mismo lo hace asi y los datos son consistentes.
Pero resulta que existe una lacra que se llama MS-Access en donde se pueden vincular las tablas y los que tienen permisos para modificar campos pueden echar al traste todo el trabajo en unos segundos

Pongamos otro ejemplo
Para pagar con tarjeta necesito el DNI. El programa valida todo y funciona correctamente. Los informes, back office y demas dan por echo que esos datos existen, pero un desalmado de estos borra el DNI sin mas
No habria un regla para impedirlo?

igual que puedo poner

check(provincia in ('Madrid', 'Bilbao'))

y si intentas meter un valor diferente te casca el propio motor de base de datos, no se podria poner algo del estilo dependienddo si un campo tiene valor o no?


-- Esto es inventado!!!
check(if tarjeta<>'' then DNI<>'')


Saludos

marto
01-03-2005, 18:12:58
Wop!

Siempre lo puedres programar en un triger ;)