When selecting into a variable it will emit under-select, and over selection if you use strict, as exception types.
SELECT _col_ into strict _v_something_
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE ...
WHEN TOO_MANY_ROWS THEN
RAISE ...
END;
PLPGslq dosen't have fall through
but dose have testing of multiple values, like an IN
clause.
CASE x
WHEN 1,2 THEN ..
ELSE
...
Exceptions too, just another kind of case statement.
EXCEPTION
WHEN CLASS_NAME_1, CLASS_NAME_2 THEN ..
WHEN OTHER
...
Lots of good stuff
plpgsql.check_asserts := [ON|OFF]
plpgsql.veriable_conflict := [error|user_variable|use_column]
plpgsql.extra_warnings := [none|all| 'list,of,names,...']
plpgsql.extra_errors := [none|all| 'list,of,names,...']
Example:
SET plpgsql.extra_warnings := 'shadowed_variables';