Т.е. проблема не в SQL, а в том, что это один из примеров нетривиальных протоколов, где запрос сам представляет из себя "программу", и формат её результата существенно зависит от самой "программы".
Если воспринимать СУБД как внешнего агента, придётся либо думать как определить протокол так, чтобы тип ответа зависел от структуры запроса, либо воспринимать ответ исходно как почти не структурированные данные.
Фундаментальная проблема здесь не в парадигме разработки, и не в конкретном языке, а в налаживании сложных протоколов взаимодействия.