postgresqlfunctions
This is an old revision of the document!
pl/pgsql
Arrays
Append / Prepend
SELECT ARRAY[1,2,3] || 4; SELECT array_append(ARRAY[1,2,3], 4); SELECT 0 || ARRAY[1,2,3]; SELECT array_prepend(0, ARRAY[1,2,3]);
Replace / Remove
SELECT array_replace(ARRAY[1,2,4], 4, 3); SELECT array_remove(ARRAY[1,2,3,4], 4);
Concatenate
SELECT ARRAY[1,2,3] || 4; SELECT 0 || ARRAY[1,2,3]; SELECT array_cat(ARRAY[0], ARRAY[1,2.3]);
Length
SELECT array_length(ARRAY[1,2,3], 1); SELECT cardinality(ARRAY[1,2,3]);
Position
SELECT array_position(ARRAY[1,2,3], 2); SELECT array_positions(ARRAY[1,2,2,3], 2);
Conversion
SELECT array_to_string(ARRAY[1,2,3], ','); SELECT unnest(ARRAY[1,2,3]);
Templates
Functions
CREATE [OR REPLACE] FUNCTION fnc_nme() RETURNS <return type> LANGUAGE plpgsql AS $$ DECLARE -- Variables BEGIN -- Logic END; $$
Procedures
CREATE [OR REPLACE] PROCEDURE prc_nme() LANGUAGE plpgsql AS $$ DECLARE -- Variables BEGIN -- Body END; $$
If Then Else
IF condition_1 THEN statement_1; ELSIF condition_n THEN statement_n; ELSE else-statement; END IF;
Case
CASE RATE WHEN 'a' THEN variable = 1; WHEN 'b' THEN variable = 2; ELSE PRICE_SEGMENT = 0; END CASE; CASE WHEN total > 200 THEN variable = 'PLATINUM' ; WHEN total > 100 THEN variable = 'GOLD' ; ELSE variable = 'SILVER' ; END CASE;
Loop
LOOP -- Statements IF condition THEN EXIT; END IF; END LOOP; WHILE CONDITION LOOP -- Statements; END LOOP; FOR loop_counter in [ reverse ] FROM.. TO [ by step ] LOOP -- Statements END LOOP
postgresqlfunctions.1709567426.txt.gz · Last modified: 2025/03/08 22:23 (external edit)