diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2023-01-09 10:22:57 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2023-01-09 10:22:57 +0100 |
| commit | 44d776efa78245641c7b2a9ad0826f83d43604a8 (patch) | |
| tree | 875cb2198bac528a0ffe1e20eca8b2bc492dc9db /challenge-199/luca-ferrari/postgresql/ch-2.sql | |
| parent | ff0fa43a9068b7666da137a2337b23a82d6133b8 (diff) | |
| download | perlweeklychallenge-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.sql | 29 |
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; |
