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

uso de IF en CHECKs a nivel de tabla

Estas en el tema de uso de IF en CHECKs a nivel de tabla en el foro de Mysql en Foros del Web. buenas gente que tal al crear una tabla tengo que restringir el valor de una columna dependiendo del valor de otra columnas: - Prefijo - ...
  #1 (permalink)  
Antiguo 08/06/2010, 08:20
Avatar de sanchy  
Fecha de Ingreso: octubre-2008
Mensajes: 389
Antigüedad: 15 años, 6 meses
Puntos: 9
uso de IF en CHECKs a nivel de tabla

buenas gente que tal

al crear una tabla tengo que restringir el valor de una columna dependiendo del valor de otra

columnas:
- Prefijo
- Tipo

la columna 'Prefijo' solo puede aceptar un valor, cuando el valor de 'Tipo' es 'S'

lo quice hacer con un Trigger pero la profesora me dijo que era un check a nivel de tabla.
Y no me doy cuenta como hacer para condicionar esto del check.
  #2 (permalink)  
Antiguo 08/06/2010, 08:55
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: uso de IF en CHECKs a nivel de tabla

Tu profesora está pensando en Oracle o SQL Server y no en MySQL.
MySQL no tiene implementada esa contraint.

Según el manual de referencia:
Cita:
La cláusula CHECK se parsea pero se ignora en todos los motores de almacenamiento.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 15/06/2010, 18:28
Avatar de sanchy  
Fecha de Ingreso: octubre-2008
Mensajes: 389
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: uso de IF en CHECKs a nivel de tabla

Si claro usamos Oracle. Que mal yo postie en el foro equivocadoo :S

Gracias por la respuesta!

Etiquetas: nivel, tablas
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 19:22.