Firebird-russian - JOIN двох збережених процедур в одному запиті чи дозволено
JOIN двох процедур, що зберігаються в одному запиті: чи дозволено?
Скажіть, чи правомірно у FireBird викликати запити такого вигляду:
SELECT b.* FROM get_doc_info('news/') a LEFT JOIN get_doc_subtree(a.id) b on 1=1
Тобто. це JOIN двох процедур: - get_doc_info(uri) видає інформацію (зокрема, ID) документа щодо його URI (завжди ОДНИЙ рядок результату); - get_doc_subtree(id) видає всіх нащадків елементів із заданим ID (кілька записів).
Для чого це потрібно? А щоб отримати ID деякого елемента дерева прямо у тому самому запиті, що й дані про його дочірні елементи, а не виконувати для цього окремий запит.
Власне, даний запит за фактом працює, проте хотілося б уточнити - можливо, є якісь підводні камені з оптимізатором запитів, або з падіннями FB.