Hola gente,
Podrias ver que me falta, no consigo hacer que funcione.
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);
use @bd;
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
Pues me da error en la linea de use @bd.
He comprobado lo que se guarda en @bd con un select, y funciona bien.
Pero nada. He probado tambien usando @bd.tabla.campo en las consultas siguiente, pero igualmente me falla.
Haber si me podeis ayudar!!!
Gracias!