aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-01-03 18:52:17 +0100
committerLuca Ferrari <fluca1978@gmail.com>2023-01-03 18:52:17 +0100
commit2c70169e58b0dab0f31dc5c982cce7510cc7f80a (patch)
treefc0d325425aaac07ef61be1e2232996988e73d6b
parente8e7e45887788949e90bdab9a4602e3588820397 (diff)
downloadperlweeklychallenge-club-2c70169e58b0dab0f31dc5c982cce7510cc7f80a.tar.gz
perlweeklychallenge-club-2c70169e58b0dab0f31dc5c982cce7510cc7f80a.tar.bz2
perlweeklychallenge-club-2c70169e58b0dab0f31dc5c982cce7510cc7f80a.zip
Task 2 plpgsql
-rw-r--r--challenge-198/luca-ferrari/postgresql/ch-2.sql40
1 files changed, 40 insertions, 0 deletions
diff --git a/challenge-198/luca-ferrari/postgresql/ch-2.sql b/challenge-198/luca-ferrari/postgresql/ch-2.sql
new file mode 100644
index 0000000000..7367757a00
--- /dev/null
+++ b/challenge-198/luca-ferrari/postgresql/ch-2.sql
@@ -0,0 +1,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;