DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`visible_clean`()
BEGIN
	DROP TEMPORARY TABLE IF EXISTS tCalc;
	CREATE TEMPORARY TABLE tCalc
		(INDEX (id))
		ENGINE = MEMORY
		SELECT id FROM cache_calc;
				
	DELETE v
		FROM visible v
			LEFT JOIN tCalc c ON c.id = v.calc_id
		WHERE c.id IS NULL;
		
	DROP TEMPORARY TABLE tCalc;
END$$
DELIMITER ;