PostgreSQL Control reaches end of function without return
Control reaches end of function without return
ERROR: control reaches end of function without return
The cause of this error is the lack of execution of the command return in the function.
Wrong function
CREATE OR REPLACE FUNCTION update_customers( p_first_name varchar, p_last_name varchar, p_type varchar(2) ) RETURNS varchar AS $$ DECLARE v_result varchar(250); v_id numeric; BEGIN SELECT id into v_id FROM customers WHERE first_name = p_first_name AND last_name = p_last_name; if v_id is not null then v_result:='OK customer'; return v_result; end if; END; $$LANGUAGE plpgsql;
Correct function
CREATE OR REPLACE FUNCTION update_customers( p_first_name varchar, p_last_name varchar, p_type varchar(2) ) RETURNS varchar AS $$ DECLARE v_result varchar(250); v_id numeric; BEGIN SELECT id into v_id FROM customers WHERE first_name = p_first_name AND last_name = p_last_name; if v_id is not null then v_result:='OK customer'; end if; return v_result; END; $$LANGUAGE plpgsql;