Procedimiento almacenado para eliminar todos los registros de una tabla que se pasa como parámetro.
En primer lugar se añade la sentencia SET SQL_SAFE_UPDATES = 0; para evitar el Error 1175.
Además de borrar todos los registros, reseteamos el valor del AUTO_INCREMENT.
CREATE PROCEDURE eliminarRegistrosTabla`(in pNombreTabla VARCHAR(50))Para ejecutar el procedimiento de almacenado como siempre con la sentencia CALL
BEGIN
SET SQL_SAFE_UPDATES = 0;
SET @SQL = CONCAT('DELETE FROM ', pNombreTabla);
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @SQL = CONCAT('ALTER TABLE ', pNombreTabla, ' AUTO_INCREMENT = 1');
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET SQL_SAFE_UPDATES = 1;
END
CALL eliminarRegistrosTabla('usuario')
0 Comentarios