As a side bar, I'm not sure why you want to avoid dynamic SQL for this... it's not slow when used for batch processess... just for bazillions of single row GUI hits. Since it's not public facing, it's not likely that you need to worry about SQL Injection but preventing it isn't that hard, either.
Written correctly, dynamic SQL isn't difficult to troubleshoot, either.
--Jeff Moden
Change is inevitable... Change for the better is not.