Crear un ejemplo de procedimiento almacenado
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_myisam`()
begin
declare i int default 1;
while i < 1000
do
INSERT INTO `epa_monit_alarm_data_myisam` (alarm_status,
data_type,
enterprise_code,
object_id,
date,
create_time,
tanker_id,
oil_gun,
gas_liquid_ratio,
impermeability,
fluidic_resistor,
zero_pressure_tank,
vacuum_valve_condition,
critical_pressure_state,
post_processing_device_status
)
VALUES ( 0, 2, '2019080002', '202004081846332005', '2020-04-08 18:46:33', '2020-04-08 18:59:09', '04', '01', '0', NULL, NULL, NULL, NULL, NULL, NULL);
set i=i+1;
end while;
commit;
end
Para llamar a un procedimiento almacenado, puede llamarlo en una interfaz o puede ejecutar los siguientes comandos:
call test_myisam();
Como se muestra en la demostración, se puede usar para insertar datos en lotes, hacer algunas pruebas e insertar 1000 veces en lotes.
Ejemplo de uso de procedimiento almacenado
Construcción de UUID a granel
Primero cree una tabla de prueba para recibir uuid:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for test_uuid
-- ----------------------------
DROP TABLE IF EXISTS `test_uuid`;
CREATE TABLE `test_uuid` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`str` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主键',
`create_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 111 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
Cree un procedimiento almacenado de prueba que inserte uuid en lotes:
CREATE DEFINER=`root`@`localhost` PROCEDURE `test_innodb`()
begin
declare i int default 1;
while i < 100
do
-- 批量生成uuid的测试数据
INSERT INTO `test_uuid`( `str`, `create_date`) VALUES ( (select REPLACE(uuid(), '-', '')), NOW() );
set i=i+1;
end while;
commit;
end
De esta forma, cada vez que ejecutamos este procedimiento almacenado, podemos obtener un conjunto de uuids, que se pueden utilizar para otros programas de prueba, como la inserción de datos por lotes, que es más conveniente.