CREATE FUNCTION sp_area_select (integer) RETURNS SETOF area
AS 'declare rec record; v_id alias for $1; begin select into rec id, name from area where id=v_id; return next rec; return; end;'
LANGUAGE plpgsql;
CREATE FUNCTION sp_area_select () RETURNS SETOF area
AS 'declare rec record; begin for rec in select * from area order by id loop return next rec ; end loop; return; end;'
LANGUAGE plpgsql;
CREATE FUNCTION sp_area_insert (integer, character varying) RETURNS boolean
AS 'declare v_id alias for $1; v_name alias for $2; begin insert into area values (v_id, v_name); return found; end;'
LANGUAGE plpgsql;
CREATE FUNCTION sp_area_delete (integer) RETURNS boolean
AS 'declare v_id alias for $1; begin delete from area where id = v_id; return found; end;'
LANGUAGE plpgsql;
CREATE FUNCTION sp_area_update (integer, character varying) RETURNS boolean
AS 'declare v_id alias for $1; v_name alias for $2; begin update area set name = v_name where id=v_id; return found; end;'
LANGUAGE plpgsql;