Autor Tema: ayuda con trigger en mysql  (Leído 2657 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado theoden

  • Trade Count: (0)
  • Sv Member
  • ***
  • Thank You
  • -Given: 1
  • -Receive: 1
  • Mensajes: 384
ayuda con trigger en mysql
« : noviembre 20, 2006, 09:32:50 pm »
Pues tengo mysql 5.0 y me he decidido a probar los tan afamados trigger en esta version,tengo estas tablas

Código: [Seleccionar]
CREATE TABLE horas (
  idmodulo INTEGER UNSIGNED NOT NULL,
  NumHoras TIME NULL,
  PRIMARY KEY(idmodulo)
);

CREATE TABLE Pedidos (
  IdPedidos INTEGER UNSIGNED NOT NULL,
  HorasPlanificadas VARCHAR(10) NULL,
  modulo INTEGER UNSIGNED NULL,
  PRIMARY KEY(IdPedidos),
  INDEX Pedidos_FKIndex1(modulo),
  FOREIGN KEY(modulo)
    REFERENCES horas(idmodulo)
      ON DELETE NO ACTION
      ON UPDATE NO ACTION
);

la cosa es que quiero poner el total de horas por cada modulo en la tabla horas, una vez se vaya actualizando los pedidos,  :phew: para empezar solo queria ver si podia incrementar las horas al insertar un pedido pero no me sale. el trigger lo tengo asi

Código: [Seleccionar]
create trigger calhoras after insert on pedidos
FOR EACH ROW
BEGIN
update horas set NumHoras=ADDTIME(NumHoras,NEW.HorasPlanificadas) where idmodulo=(NEW.modulo);
END;

ya probe la consulta update poniendole otros valores y si funciona pero por mas que he intentado el bendito mysql no me deja crear el trigger, siempre me sale

Código: [Seleccionar]
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'update horas set NumHoras=ADDTIME(NumHoras,NEW.HorasPlanificadas) where idmodulo' at line 4

he visto que varia mara por aqui trabaja con el mysql asi porfa  :cry: diganme que es lo que esta mal.

Desconectado kerberoz

  • Trade Count: (0)
  • The Communiter-
  • *
  • Thank You
  • -Given: 25
  • -Receive: 30
  • Mensajes: 3717
Re: ayuda con trigger en mysql
« Respuesta #1 : noviembre 20, 2006, 09:44:29 pm »
Mira segun se, algunas versiones de MySQL no traen funcionalidad para trabajar con triggers, tambien no podes trabajar con algunas sentencias, por ejemplo en las versiones de MySQL inferiores a la 4.0 no podes usar la clausula EXISTS. Asi ke deberias ver primero la ayuda de la version ke estas usando para ver si soporta Triggers o para revisar como va la sintaxis.

La ayuda ke traen MySQL es bastante completa asi ke no podes perderte  :thumbsup:
« Última Modificación: noviembre 20, 2006, 09:46:30 pm por kerberoz »
El aguinaldo es un invento comunista; pero eso no te molesta, ¿Verdad?

Desconectado JGuillen™

  • -^- Elite Silver -^-
  • Trade Count: (4)
  • The Communiter-
  • *
  • Thank You
  • -Given: 16
  • -Receive: 1
  • Mensajes: 3454
  • PHP,C#,MySQL,SQL
Re: ayuda con trigger en mysql
« Respuesta #2 : junio 12, 2007, 04:51:23 pm »
Eso sip... la versiones viejitas de MySQL tienen muchas limitantes..!

Desconectado vlad

  • Global Moderator
  • Trade Count: (10)
  • The Communiter-
  • *
  • Thank You
  • -Given: 53
  • -Receive: 104
  • Mensajes: 6366
    • Qualium.net
Re: ayuda con trigger en mysql
« Respuesta #3 : junio 12, 2007, 05:28:23 pm »