marcelo <marcelo(dot)nicolet(at)gmail(dot)com> writes:
> What was wrong in the first approach?
plpgsql's "SELECT INTO" expects a one-for-one match between the output
columns of the SELECT and the columns of the INTO destination. So I'd
expect something like this to work:
DECLARE
ranger billnumberrange%ROWTYPE;
BEGIN
SELECT * FROM billnumberrange WHERE ... INTO ranger;
Your example clearly wasn't selecting all the columns, and it
wasn't clear whether you paid any attention to column ordering;
but both of those matter.
regards, tom lane