MySQL 저장 프로 시저 사용 예

저장 프로 시저 예제 만들기


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

저장 프로 시저를 호출하려면 인터페이스에서 호출하거나 다음 명령을 실행할 수 있습니다.

call test_myisam();

데모에서 볼 수 있듯이 데이터를 일괄 적으로 삽입하고, 일부 테스트를 수행하고, 일괄 적으로 1000 번 삽입하는 데 사용할 수 있습니다.

저장 프로 시저 사용 예

벌크 UUID 구축

먼저 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;

uuid를 일괄 적으로 삽입하는 테스트 저장 프로 시저를 만듭니다.


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

이러한 방식으로이 저장 프로 시저를 실행할 때마다 데이터 일괄 삽입과 같은 다른 테스트 프로그램에 사용할 수있는 uuid 집합을 얻을 수 있습니다.

추천

출처blog.csdn.net/Stephanie_1/article/details/105530239