Die gespeicherte MySQL-Prozedurschleife löscht die Datentabelle

Bei Untertabellen wird die Datentabelle zyklisch gelöscht.
Angenommen, es gibt die Tabellen student0 - student99.
Wäre es nicht sinnlos, sie manuell zu löschen?
Fügen Sie hier eine Bildbeschreibung ein

1. Gespeicherte Prozeduren anzeigen

SHOW PROCEDURE STATUS;

2. Verwenden Sie die gespeicherte Prozedurschleife, um die Datentabelle zu löschen

DROP PROCEDURE if exists truncateTable;
delimiter $$
CREATE PROCEDURE truncateTable()
BEGIN
	DECLARE i INT DEFAULT 0;
	while i <= 99
		do
			SET @tablename = CONCAT("student", i);
			SET @sqlstring = CONCAT("truncate table ", @tablename);
			PREPARE stmt FROM @sqlstring;
			EXECUTE stmt;
			SET i = i + 1;
	END while;
END$$
delimiter ;

CALL truncateTable();
DROP PROCEDURE truncateTable;

Acho que você gosta

Origin blog.csdn.net/sdujava2011/article/details/129884092
Recomendado
Clasificación