Thread: Using EXIT and labels to exit blocks of statements
Hi, My novice question is – I’d like to use EXIT statement to exit a block of statements. I copied an example from pg 809 of postgresql 8.4 documentation but received
Following error. Just want to know correct way to use label. Thanks very much.
ERROR: label does not exist at or near "ablock"
LINE 15: EXIT ablock; -- causes exit from the BEGIN block
^
DROP FUNCTION IF EXISTS test_exit();
CREATE OR REPLACE FUNCTION test_exit()
RETURNS void AS
$BODY$
DECLARE
x integer :=0;
stocks bigint := 100100;
<<ablock>>
BEGIN
-- some computations
IF stocks > 100000 THEN
EXIT ablock; -- causes exit from the BEGIN block
END IF;
-- computations here will be skipped when stocks > 100000
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION test_exit() OWNER TO postgres;
Danny Lo <lo.dannyk@gmail.com> writes: >> Following error. Just want to know correct way to use label. Thanks very >> much. You need to put the <<label>> before the DECLARE, not after --- see the syntax examples here: http://www.postgresql.org/docs/8.4/static/plpgsql-structure.html I think it's a bug that it's not throwing an error for the label placement as you have it. regards, tom lane