Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/11/2010, 10:30
Sergio_Ivan
 
Fecha de Ingreso: abril-2004
Ubicación: Aranjuez
Mensajes: 8
Antigüedad: 20 años, 9 meses
Puntos: 0
Respuesta: AYUDA Trigger mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Un script de Stored Procedure, Stored Function o Trigger debe cargarse de una sola vez, pero cuando tiene muchas líneas debe realizarse un cambio momentaneo de delimitadores de sentencias.
Normalmente en consola o scripts .SQL se hace con DELIMITEER, pero desde el phpMyAdmin, eso lo controla la interfase.

Pero:

- No puede haber declaraciones de variables luego de la creación del cursor.
- Para usar un curso, debes abrirlo y luego cerrarlo.
- Debes crear un HANDLER que controle el límite de lecturas secuenciales o generará un error.
- Los datos leídos por un curso se deben volcar a variables.
- La lectura de un registro se hace con FETCH. Este avanza el puntero al siguiente.
- Un trigger no puede hacer operaciones DML sobre la propia tabla que genera el evento ni contra tablas que posean triggers que la afecten.
- No se puede invocar un SP desde un TRIGGER.
- Los unicos datos entrantes en un TRIGGER son los que provocan el evento, y sólo son accesibles con las pseudovariables NEW y OLD.
- LOOP no es parte de FOR. Son estructuras diferentes y no se inician de esa forma (Ver manual de referencia: [URL="http://dev.mysql.com/doc/refman/5.0/es/flow-control-constructs.html"]19.2.12. Constructores de control de flujo[/URL]).
- Varias otars restricciones y detalles más...

Creo que sería mejor que leyeras el capítulo dedicado a los triggers en el manual de referencia([URL="http://dev.mysql.com/doc/refman/5.0/es/triggers.html"]Capítulo 20. Disparadores (triggers)[/URL]) porque tu trigger contiene numerosos errores y por sobre todo, no necesitas hacer lo que propones para lograr lo que quieres.
Entonces como puedo hacer lo que pido sin triggers de tal manera que cuando se inserte una fila en una tabla se actualice otra tabla?

Lo explico con mi ejemplo: Tengo 1 tabla con datos de centros y otra con datos de citaciones. Lo que quiero hacer es que cada vez que se inserte o se actualice la tabla citaciones en la tabla centros se actualice un campo. Este campo contiene el número de citas que se han hecho a ese centro.

Muchas gracias!