36 lines
730 B
SQL
36 lines
730 B
SQL
DELIMITER $$
|
|
|
|
CREATE PROCEDURE DropEntityChangeTables()
|
|
BEGIN
|
|
DECLARE done INT DEFAULT 0;
|
|
DECLARE table_name VARCHAR(255);
|
|
DECLARE drop_stmt VARCHAR(512);
|
|
|
|
DECLARE cur CURSOR FOR
|
|
SELECT CONCAT('DROP TABLE IF EXISTS entity_changes_', table_name)
|
|
FROM entity_changes_metadata
|
|
WHERE is_auditable = TRUE;
|
|
|
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
|
|
|
|
OPEN cur;
|
|
|
|
read_loop: LOOP
|
|
FETCH cur INTO drop_stmt;
|
|
IF done THEN
|
|
LEAVE read_loop;
|
|
END IF;
|
|
|
|
SET @s = drop_stmt;
|
|
PREPARE stmt FROM @s;
|
|
EXECUTE stmt;
|
|
DEALLOCATE PREPARE stmt;
|
|
END LOOP;
|
|
|
|
CLOSE cur;
|
|
END$$
|
|
|
|
DELIMITER ;
|
|
|
|
|
|
CALL DropEntityChangeTables(); |