Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Duda sobre como controlar los datos que se insertan en SQL.

Estas en el tema de Duda sobre como controlar los datos que se insertan en SQL. en el foro de Bases de Datos General en Foros del Web. Pues eso, que me gustaria saber como puedo controlar los datos que s eingresan en una tabla, es decir, por ejemplo que los valores sean ...
  #1 (permalink)  
Antiguo 24/05/2004, 08:54
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
Duda sobre como controlar los datos que se insertan en SQL.

Pues eso, que me gustaria saber como puedo controlar los datos que s eingresan en una tabla, es decir, por ejemplo que los valores sean del uno al cinco, o que solo se pueda insertar el, 5, 10 y 15 en un campo, o que no sea mayor de un numero, etc. Imagino que se podra hacer , pero no tengo mucha idea de como ,estoy empezando en esto. Si alguien me pudiese aclarar la duda o poner un ejemplo simple, se lo agradeceria un monton.
Muchas gracias a todos.
  #2 (permalink)  
Antiguo 24/05/2004, 16:39
 
Fecha de Ingreso: octubre-2003
Ubicación: Hermosillo, Sonora
Mensajes: 75
Antigüedad: 20 años, 7 meses
Puntos: 0
Algo así pondrías en el onfocus del objeto donde tecleen ese valor:

var intResiduo = ValorTeclado mod 5
if(intResiduo != 0)
window.alert('Sólo múltiplos de cindo');

estoy utilizando código javascript; pero en sí lo que necesitas es el operador mod, que te regresa el residuo del resultado de una división, por lo que si divides entre cindo el valor que teclean te regresa cero si teclearon un múltiplo de cinco.

Espero te sirva
  #3 (permalink)  
Antiguo 25/05/2004, 01:06
 
Fecha de Ingreso: abril-2003
Ubicación: Madrid
Mensajes: 707
Antigüedad: 21 años, 1 mes
Puntos: 0
Puedes hacerlo con Triggers, tanto para insert, como para Update, compruebas que el campo que quieras, tenga los valores que dices, y si no es así haces un Rollback, lo que deshará los cambios

Saludos
  #4 (permalink)  
Antiguo 25/05/2004, 05:31
 
Fecha de Ingreso: diciembre-2002
Mensajes: 129
Antigüedad: 21 años, 5 meses
Puntos: 0
He stado mirando y hacerlo mediante un trigger creo que es lo mejor. Lo que no he encontrado es como hacer que salga un mensaje de error cuando inseren un dato que no quiero. Se puede hacer? Si se puede hacer me podeis decir como o donde mirar como se puede hacer?
Muchas gracias por adelantado.
  #5 (permalink)  
Antiguo 25/05/2004, 06:36
 
Fecha de Ingreso: mayo-2004
Ubicación: Valladolid (Spain)
Mensajes: 81
Antigüedad: 20 años
Puntos: 0
sí, se puede hacer warlock. Para ello, después de las validaciones del trigger, si insertan un dato erróneo utiliza la sentecia RAISERROR y se lo comunicas.

Por ejemplo:

RAISERROR ('el dato introducido no es correcto').

Espero que te sirva
  #6 (permalink)  
Antiguo 25/05/2004, 17:36
 
Fecha de Ingreso: marzo-2004
Mensajes: 19
Antigüedad: 20 años, 1 mes
Puntos: 0
Si estas utilizando SQL Server lo puedes hacer con un check constraint .
En el enterprise manager en las propiedades de la tabla puedes especificar los valores posibles o rango de valores permitidos.

O en codigo

CREATE Table Empleados(
Clave as int,
Nombre as char(30),
Sueldo as int
check constraint sueldo > 0 and (cualquier validacion que deseas)
)

El codigo seria algo asi, no recuerdo bien la sintaxis.

El unico problema es que no puedes mandar mensajes personalizados de error (o cuando menos no se como hacerlo)
y te evitas el programar triggers
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:58.