blob: 01420d94280c1bf5713d0503bdb66c7b0c7b0cbc (
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
|
--
-- Perl Weekly Challenge 208
-- Task 2
--
-- See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-208/>
--
CREATE SCHEMA IF NOT EXISTS pwc208;
CREATE OR REPLACE FUNCTION
pwc208.task2_plpgsql( l int[] )
RETURNS TABLE( v int, d text )
AS $CODE$
WITH res AS (
SELECT v, count( vv ) AS c
FROM generate_series( l[1], l[ array_length( l, 1 ) ] ) v
LEFT JOIN unnest( l ) vv ON vv = v
GROUP BY v
)
SELECT v, 'Duplicated value ' || v
FROM res
WHERE c > 1
UNION
SELECT v, 'Missing value ' || v
FROM res
WHERE c = 0;
$CODE$
LANGUAGE sql;
|