This procedure wasn’t for showing data to the user, it was to create a
new payment entry. Right now that procedure is a little over 700 lines
of SQL. The result though is just an ID.
I’d agree though that most of the time pagination is a good answer. I
have seen clients though that specifically didn’t want pagination. Or at
least didn’t THINK they wanted it