Výběr z funkcí je možný u jiných motorů. Oracle vám například umožňuje napsat funkci, která vrací tabulku uživatelem definovaného typu. Ve funkci můžete definovat sady výsledků, vyplnit je pomocí dotazů nebo dokonce pomocí kombinace výběrů a kódu. Nakonec může být výsledná sada vrácena z funkce a můžete pokračovat v dotazování pomocí:
select * from table(FunctionToBeCalls(parameters));
Jedinou nevýhodou je, že tato sada výsledků není indexována, takže může být pomalá, pokud je funkce použita ve složitém dotazu.
V MySQL není nic takového možné. Neexistuje žádný způsob, jak použít sadu výsledků z procedury přímo ve výběrovém dotazu. Z funkce můžete vrátit jednotlivé hodnoty a můžete použít OUT
nebo INOUT
parametry k vám postup k vrácení hodnot. Ale celé sady výsledků nejsou možné. Vyplnění dočasné tabulky v rámci vaší procedury je nejblíže, jakého se dostanete.