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

Trigger mysql

Estas en el tema de Trigger mysql en el foro de Mysql en Foros del Web. Buenas tengo haber si sois tan amables de ayudarme: Necesito crear un trigger que me cambie un campo añadido con una condición de comparación de ...
  #1 (permalink)  
Antiguo 23/06/2010, 01:46
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Trigger mysql

Buenas tengo haber si sois tan amables de ayudarme:
Necesito crear un trigger que me cambie un campo añadido con una condición de comparación de cadenas de texto.Por ahora me funciona si la cadena es exactamente igual que la que estoy comparando, pero necesito poder añadir comodines para que sea ( si el campo contiene la palabra x )...
Estoy probando esto y no funciona

CREATE TRIGGER cdr_channel BEFORE INSERT ON cdr
FOR EACH ROW
BEGIN
IF NEW.channel = '*mISDN*' THEN
SET NEW.channel = 'OnoRDSI';
END IF;
END;

¿Alguien tiene idea de que estoy haciendo mal?
Muchas gracias
  #2 (permalink)  
Antiguo 23/06/2010, 02:36
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: Trigger mysql

Prueba con

CREATE TRIGGER cdr_channel BEFORE INSERT ON cdr
FOR EACH ROW
BEGIN
IF INSTR(NEW.channel,'mISDN') THEN
SET NEW.channel = 'OnoRDSI';
END IF;
END;


Echale un vistazo rapido a estas funciones, seguro que van a servir muchas: http://dev.mysql.com/doc/refman/5.0/...functions.html
  #3 (permalink)  
Antiguo 23/06/2010, 02:56
 
Fecha de Ingreso: junio-2010
Mensajes: 2
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Trigger mysql

Muchas gracias por la rapidez.
Me ha servidor muchísimo, de hecho ya tengo funcionando perfectamente el trigger.

Saludos

Etiquetas: trigger
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 21:53.