"Nigel J. Andrews" <nandrews@investsystems.co.uk> writes:
> I'd also say your problem was probably more due to how you are initialising
> exchangeno and routeno variables to empty strings and then using those values
> in the order by clause of the select.
Yes, this is surely the issue: the 'exchangeno' and 'routeno' names in
the ORDER BY clause are being replaced by the plpgsql vars of the same
names.
It's a bad idea to use plpgsql variable names that are the same as
column names of tables that you use in the function...
regards, tom lane