====== 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 ====== * [[http://www.redhat.com/docs/manuals/database/RHDB-7.1.3-Manual/prog/plpgsql-description.html]] - palju erinevaid näiteid