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

Limitar rango de valores (INTEGER)

Estas en el tema de Limitar rango de valores (INTEGER) en el foro de SQL Server en Foros del Web. Hola a todos... Tenemos la siguiente tabla: servicio Con los campos: codservicio (INTEGER), descripcion (VARCHAR(45)) queremos que el codigo de servicio, q es clave, este ...
  #1 (permalink)  
Antiguo 08/06/2008, 22:17
 
Fecha de Ingreso: octubre-2003
Mensajes: 15
Antigüedad: 21 años, 1 mes
Puntos: 1
Pregunta Limitar rango de valores (INTEGER)

Hola a todos...

Tenemos la siguiente tabla:

servicio

Con los campos:

codservicio (INTEGER), descripcion (VARCHAR(45))

queremos que el codigo de servicio, q es clave, este entre 0 y 1.000.000.000, pero no sabemos como hacer esto.

Segun entendemos mysql no soporta checks y tenemos que usar un trigger. PERO NO SABEMOS COMO HACERLO !!!!!! :(

Otra cosa probamos este trigger y NO FUNCIONA DE NINGUNA FORMA :( NOS HEMOS CANSADO DE GOOGLEAR Y DEMAS PERO NO ENCONTRAMOS NADA QUE NOS SIRVA:

/*PRUEBA Nro 80 */ SI SI LEYERON BIEN 80 !!!

DELIMITER $$
CREATE TRIGGER validarServicio
BEFORE INSERT ON gcp1.servicio
FOR EACH ROW BEGIN
IF ((NEW.nroservicio < 0) OR (NEW. > 1000000000)) THEN
EXCEPTION(' error de dato!!!!!');
END
END$$
DELIMITER ;

DESDE YA MUCHAS GRACIAS A CUALQUIER Q RESPONDA!!!
  #2 (permalink)  
Antiguo 09/06/2008, 09:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 11 meses
Puntos: 38
Respuesta: Limitar rango de valores (INTEGER)

Si estas utilizando MySQL, te podran ayudar mejor en el subforo de MySQL...

Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 10/06/2008, 12:17
 
Fecha de Ingreso: octubre-2003
Mensajes: 15
Antigüedad: 21 años, 1 mes
Puntos: 1
Respuesta: Limitar rango de valores (INTEGER)

Ya he logrado solucionar el problema, el Trigger se escibia correctamente de esta manera (cambiando null por un valor q queremos en este caso me interesa q sea null)

delimiter $$
CREATE TRIGGER validarServicio
BEFORE INSERT ON servicio
FOR EACH ROW BEGIN
IF (NEW.codServicio > 100) THEN
set NEW.codServicio = NULL;
END IF;
END $$
delimiter ;

PD perdon por poner mal el mensaje en el tema incorrecto
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 22:16.