sql >> Databáze >  >> RDS >> Mysql

VÝBĚR dat z uložených procedur

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.




  1. Upozornění SQL Server Agent

  2. Jak vyřešit nejednoznačné názvy sloupců při načítání výsledků?

  3. Co je sekvence v oracle

  4. Oracle - Jak vytvořit uživatele pouze pro čtení