MySQL - Automatizar un proceso de borrado

 
Vista:

Automatizar un proceso de borrado

Publicado por Luis (1 intervención) el 21/03/2009 20:22:45
Hola, soy nuevo en base de datos y por ende nuevo en mysql, estoy empleando la version 5.1.32 de mysql y quiero hacer lo siguiente:
Tengo 3 tablas que tienen un campo "id", ahora la tabla 1 (t1) tiene un campo "lastlogin" y mediante un SELECT @a := lastlogin FROM t1 WHERE lastlogin NOT LIKE '2009%', puede obtener aquellos usuarios que ya no estan activos. Luego puedo hacer:
DELETE FROM t1 WHERE id = @a;
DELETE FROM t2 WHERE id = @a;
DELETE FROM t3 WHERE id = @a;

Lo que quiero hacer es automatizar ese proceso para borrarlos uno por uno, intente amar un procedimiento almacenado empleando un WHILE, y puedo crearlo pero no se como ejecutarlo o si sirve o no: aqui el cogido:
DELIMITER /

DROP PROCEDURE IF EXISTS `basededatos`.`Delete` /
CREATE PROCEDURE `Delete`()
BEGIN
SELECT @a := id FROM t1 WHERE lastlogin NOT LIKE '2009%';
SET @b := 0;
WHILE (@b != @a) DO
DELETE FROM t1 WHERE id = @a;
DELETE FROM t2 WHERE id = @a;
DELETE FROM t3 WHERE id = @a;
SET @b := @a;
SELECT @a :=id FROM t1 WHERE lastlogin NOT LIKE '2009%';
END WHILE;
END /

DELIMITER ;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder