aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-09-26 11:11:51 +0200
committerLuca Ferrari <fluca1978@gmail.com>2022-09-26 11:11:51 +0200
commit6e11fc3964761736822416dd4dd0b178d91fc0cd (patch)
tree0be2813e074a35ddff19c6806f642685a3efe052
parentb0bdb6f3151e52bdaa12978388f69537cdc7bed8 (diff)
downloadperlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.tar.gz
perlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.tar.bz2
perlweeklychallenge-club-6e11fc3964761736822416dd4dd0b178d91fc0cd.zip
Task 1 plpgsql
-rw-r--r--challenge-184/luca-ferrari/postgresql/ch-1.sql32
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-184/luca-ferrari/postgresql/ch-1.sql b/challenge-184/luca-ferrari/postgresql/ch-1.sql
new file mode 100644
index 0000000000..5252ac33cf
--- /dev/null
+++ b/challenge-184/luca-ferrari/postgresql/ch-1.sql
@@ -0,0 +1,32 @@
+-- Perl Weekly Challenge 184
+-- Task 1
+
+CREATE SCHEMA IF NOT EXISTS pwc184;
+
+
+CREATE OR REPLACE FUNCTION
+pwc184.task1_plpgsql( strings text[] )
+RETURNS SETOF text
+AS $CODE$
+DECLARE
+ current_string text;
+ c int := 0;
+ pref text;
+BEGIN
+ FOREACH current_string IN ARRAY strings LOOP
+ IF c < 10 THEN
+ pref := '0' || c;
+ ELSE
+ pref := c::text;
+ END IF;
+ RETURN NEXT regexp_replace( current_string,
+ '^[a-z]{2}',
+ pref );
+ c := c + 1;
+ END LOOP;
+ RETURN;
+END
+
+
+$CODE$
+LANGUAGE plpgsql;