Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/09/2013, 12:15
daicon
 
Fecha de Ingreso: julio-2010
Mensajes: 134
Antigüedad: 14 años, 5 meses
Puntos: 0
Alternativa a lanzar SP desde un Trigger

Hola,

Vengo de un hilo anterior, pero creo que es conveniente hacer otro con el problema ahora bien explicado.

Necesito buscar una alternativa que lance un SP desde un Trigger, ya que como algunos sabéis esto no esta permitido en Mysql.

Este es el codigo que tenia dentro del trigger:

Código:
BEGIN

IF NEW.Jname != OLD.Jname THEN
SET @cont = 1;
SET @bds = ('aux,prugeok,pruebas');


    WHILE @cont <= 3 DO 
    
    	    SET @bd = (SELECT CASE 
                WHEN @bds REGEXP CONCAT('((,).*){',@cont,'}') 
                THEN SUBSTRING_INDEX(SUBSTRING_INDEX(@bds,',',@cont+1),',',-1) 
                ELSE NULL
            END);
            
           SET @username = CONCAT('USE ',@bd,' ');
           PREPARE stmt1 FROM @username;
           EXECUTE stmt1;
    	    
            SET @nombre =  (SELECT name FROM j25_users WHERE name = OLD.Jname);
            IF @nombre != NULL THEN
            	UPDATE j25_users SET name = NEW.Jname WHERE name = OLD.Jname;
            END IF;
            SET @cont = @cont + 1; 
    END WHILE; 

END IF;

END
Decidi meterlo en un SP y llamarlo desde el Trigger, pero no funciona como ya sabeis.

Entonces... ¿Cual es el camino a seguir?

Necesito que se lance ese codigo cada vez que se realice un update en una tabla. Ademas, mas adelante necesito añadir mas IF, ya que necesito hacer varias comprobaciones, y segun que campo se modifice hacer una cosa u otra.

Otra pregunta. Los SP, no se pueden usar como los trigger no? y decirles que se ejecuten cuando se actulice algun campo?
Si esto es asi, que caminos me quedan?