Ver Mensaje Individual
  #6 (permalink)  
Antiguo 07/04/2008, 12:38
Avatar de gpardo
gpardo
 
Fecha de Ingreso: octubre-2004
Ubicación: Centenario, NQN
Mensajes: 40
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Problema con SP (Stored Procedure)

mmm... estaba buscando otra cosa... , pero van algunas sugerencias:

1. un trigger lo puedes crear con una sintaxis parecida a estas:

Código:
DROP TRIGGER `nombre_trigger`$$
CREATE TRIGGER `nombre_trigger` AFTER INSERT ON `nombre_tabla`
FOR EACH ROW BEGIN
   ... por aquí lo que necesites ...
END$$
2. digamos que php no tiene nada que ver con los triggers / stored procedures. tú armas los disparadores / funciones/ procedimientos que necesitas y MySQL los maneja. desde php lo único que puedes hacer es tirarle consultas a la base de datos, sean estas de tipo "SELECT * FROM ....", "INSERT INTO ..." o "CALL tu_funcion(param1, ..., paramN)"

3. desde php tú sólo debes:
a. mandar la consulta que inicie la transacción: "START TRANSACTION"
b. mandar la consulta con el insert (mysql se encargará del disparador)
c. mandar la consulta que cierre la transacción iniciada: "COMMIT"

4. NO se puede usar ROLLBACK desde un disparador, he escrito una manera de emular eso en: http://gustavopardo.com.ar/node/696. Esto producirá un error que impedirá que se ejecute el COMMIT por lo que ninguna modificación se hará efectiva en la bbdd.
__________________
Gustavo Pardo
http://dataneu.com/