· 8 years ago · Jan 25, 2018, 10:06 PM
1DELIMITER ||
2DROP PROCEDURE IF EXISTS sp_listar_primos||
3CREATE PROCEDURE sp_listar_primos()
4 BEGIN
5 CREATE TEMPORARY TABLE IF NOT EXISTS tmp_primos (numero TINYINT UNSIGNED NOT NULL) ENGINE=MEMORY;
6 SET @n = 0;
7
8 REPEAT
9 SET @n = @n + 1;
10
11 REPEAT
12 SET @c = 0;
13 SET @x = @n;
14
15 IF (MOD(@x, 2) = 0) THEN
16 SET @c = @c + 1;
17 END IF;
18
19 SELECT @n, @c;
20
21 SET @x = @x - 1;
22 UNTIL @x = 0 END REPEAT;
23 UNTIL @n = 200 END REPEAT;
24
25 SELECT * FROM tmp_primos;
26 DROP TABLE tmp_primos;
27 END;
28||
29DELIMITER ;
30CALL sp_listar_primos();