Изгледът е съхранена заявка; самият той не съдържа никакви данни. Ако неговият код е сложен и извлича данни от няколко таблици, използвайки различни условия, агрегирания и какво ли още не, достъпът до данните може да отнеме известно време.
Във вашата ситуация може би глобална (или частна; в зависимост от версията на Oracle, която използвате) временна таблица (GTT) би помогнала.
- създавате го веднъж
- в началото на процедурата вмъкнете данни от изгледа в нея
- останалата част от процедурата ще работи с подготвените данни
- след като сесията (или транзакцията; в зависимост от това как сте настроили GTT) приключи, данните от таблицата се губят
- таблицата може да се използва повторно следващия път, когато стартирате процедурата