У меня сложный запрос SELECT
, который фильтрует по временному диапазону, и я хочу, чтобы этот временной диапазон (даты начала и окончания) можно было задавать с помощью пользовательских параметров.Таким образом, я могу использовать хранимую процедуру для этого, и возвращаемое значение представляет собой набор из нескольких строк.Проблема, которую я имею, состоит в том, как бороться с этим набором результатов впоследствии.Я не могу сделать что-то вроде:
SELECT * FROM (CALL stored_procedure(start_time, end_time))
, хотя хранимая процедура это просто SELECT
, который принимает параметры.Подготовленные операторы на стороне сервера также не работают (и они не являются постоянными).Некоторые предлагают использовать временные таблицы;причина, по которой это не идеальное решение, состоит в том, что 1) я не хочу указывать схему таблицы, и кажется, что вы должны, и 2) время жизни временной таблицы будет ограничено только вызовом запроса, этоне нужно упорствовать после этого.
Итак, подведем итог: я хочу что-то вроде постоянного подготовленного оператора на стороне сервера, чей возврат - это набор результатов, которыми MySQL может манипулировать, как если бы это был подзапрос.Есть идеи?Спасибо.
Кстати, я использую MySQL 5.0.Я знаю, что это довольно старая версия, но в более поздней версии ее нет.Я не уверен, возможен ли ВЫБОР из хранимой процедуры в других механизмах SQL;в настоящее время переключение не является вариантом, но я хотел бы знать, возможно ли это в любом случае, если мы решим переключиться в будущем.