Site Tools


Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
prog:pl_pgsql

Baasist funktsiooni body saamine

SELECT proname,
    pr.prosrc
  FROM pg_proc pr,
       pg_type tp
 WHERE tp.oid = pr.prorettype
   AND pr.proisagg = FALSE
   AND tp.typname <> 'trigger'
   AND pr.pronamespace IN (
       SELECT oid
         FROM pg_namespace
        WHERE nspname NOT LIKE 'pg_%'
          AND nspname != 'information_schema'
);

Debugging

RAISE NOTICE ' 'Quantity here is %' ',v_me_id;

IF-THEN-ELSE IF

IF demo_row.sex = ''m'' THEN
   pretty_sex := ''man'';
ELSE IF demo_row.sex = ''f'' THEN
        pretty_sex := ''woman'';
     END IF;
END IF;

is_numeric

CREATE OR REPLACE FUNCTION is_numeric(text) RETURNS integer AS '
    DECLARE
        v_mod text;
    BEGIN
        v_mod := $1 || ''1'';
        IF (v_mod = to_number(v_mod, ''999999'')) THEN
            RETURN 1;
        ELSE
            RETURN 0;
        END IF;
    END;
' LANGUAGE 'plpgsql';

LOOPs

FOR num IN 1..fib_for LOOP
    tmp := ret;
    ret := nxt;
    nxt := tmp + nxt;
END LOOP;
 
WHILE foo IS NULL LOOP
    kalamaja
END LOOP;
 
LOOP
    v_kysija = split_part(v_kysijad, '','', i);
    IF v_kysija != '''' THEN
        EXIT;
    END IF;
END LOOP;

Loop over records

    DECLARE
        r RECORD;
    BEGIN
        FOR r IN (SELECT * FROM saali_syndmused WHERE isik_id = NEW.isik_id) LOOP
            RETURN r.minigi_vali;
        END LOOP;

IF UPDATING

if a trigger insert or update operation occurs

IF TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'' THEN

Lingid

prog/pl_pgsql.txt · Last modified: 2019/09/20 15:52 by 127.0.0.1