aboutsummaryrefslogtreecommitdiff
path: root/challenge-198/luca-ferrari/postgresql/ch-2.sql
blob: 7367757a00790ea787f5cc0f4f2547338c559c7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
CREATE SCHEMA IF NOT EXISTS pwc198;

CREATE OR REPLACE FUNCTION
pwc198.is_prime( l int )
RETURNS bool
AS $CODE$
DECLARE
	i int;
BEGIN
	FOR i IN  2 .. l - 1 LOOP
	    IF l % i = 0 THEN
	       RETURN FALSE;
	    END IF;
	END LOOP;

	RETURN TRUE;
END
$CODE$
LANGUAGE plpgsql;



CREATE OR REPLACE FUNCTION
pwc198.task2_plpgsql( l int )
RETURNS int
AS $CODE$
DECLARE
	c int := 0;
	i int;
BEGIN
	FOR i IN 2 .. l LOOP
	    IF pwc198.is_prime( i ) THEN
	       c := c + 1;
	    END IF;
	END LOOP;

	RETURN c;
END
$CODE$
LANGUAGE plpgsql;