DELIMITER $$
USE `db2020`$$
DROP PROCEDURE IF EXISTS `ins_prime`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `ins_prime`(IN allSize INT)
BEGIN
DECLARE i INT DEFAULT 4;
DECLARE j INT DEFAULT 2;
DECLARE num INT DEFAULT 11;
DECLARE d INT DEFAULT 1;
DECLARE p INT DEFAULT 3;
DECLARE sq INT DEFAULT 1;
WHILE i<allSize DO
SET d=1;
SET sq = SQRT(num);
SET j = 2;
WHILE(j<=sq AND d=1) DO
SELECT val INTO p FROM prime WHERE id = j;
IF ( MOD(num,p )=0 ) THEN
SET d=0;
END IF;
SET j = j+1;
END WHILE;
IF (d=1) THEN
SET i = i + 1;
INSERT INTO prime (id,val) VALUES (i,num);
END IF;
SET num = num +2;
END WHILE;
END$$
DELIMITER ;
CALL ins_prime(10303);
结果: