aboutsummaryrefslogtreecommitdiff
path: root/challenge-199/luca-ferrari/postgresql/ch-2.sql
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2023-01-09 10:22:57 +0100
committerLuca Ferrari <fluca1978@gmail.com>2023-01-09 10:22:57 +0100
commit44d776efa78245641c7b2a9ad0826f83d43604a8 (patch)
tree875cb2198bac528a0ffe1e20eca8b2bc492dc9db /challenge-199/luca-ferrari/postgresql/ch-2.sql
parentff0fa43a9068b7666da137a2337b23a82d6133b8 (diff)
downloadperlweeklychallenge-club-44d776efa78245641c7b2a9ad0826f83d43604a8.tar.gz
perlweeklychallenge-club-44d776efa78245641c7b2a9ad0826f83d43604a8.tar.bz2
perlweeklychallenge-club-44d776efa78245641c7b2a9ad0826f83d43604a8.zip
Task 2 plpgsql done
Diffstat (limited to 'challenge-199/luca-ferrari/postgresql/ch-2.sql')
-rw-r--r--challenge-199/luca-ferrari/postgresql/ch-2.sql29
1 files changed, 29 insertions, 0 deletions
diff --git a/challenge-199/luca-ferrari/postgresql/ch-2.sql b/challenge-199/luca-ferrari/postgresql/ch-2.sql
new file mode 100644
index 0000000000..0fcdaff71a
--- /dev/null
+++ b/challenge-199/luca-ferrari/postgresql/ch-2.sql
@@ -0,0 +1,29 @@
+-- Perl Weekly Challenge 199
+-- Task 2
+
+CREATE SCHEMA IF NOT EXISTS pwc199;
+
+CREATE OR REPLACE FUNCTION
+pwc199.task2_plpgsql( x int, y int, z int, l int[] )
+RETURNS int
+AS $CODE$
+DECLARE
+ i int;
+ j int;
+ k int;
+ c int := 0;
+BEGIN
+ FOR i IN 1 .. array_length( l, 1 ) LOOP
+ FOR j IN ( i + 1 ) .. array_length( l, 1 ) LOOP
+ FOR k IN ( j + 1 ) .. array_length( l, 1 ) LOOP
+ IF abs( l[i] - l[j] ) <= x AND abs( l[j] - l[k] ) <= y AND abs( l[i] - l[k] ) <= z THEN
+ c := c + 1;
+ END IF;
+ END LOOP;
+ END LOOP;
+ END LOOP;
+
+ RETURN c;
+END
+$CODE$
+LANGUAGE plpgsql;