Вызов хранимой процедуры MySQL в операторе EXISTS

У меня есть хранимая процедура, которая возвращает некоторые данные из таблицы. Я хочу использовать эти данные в другом запросе, вызвав хранимую процедуру. это то, что я пробовал до сих пор:

SELECT T.ID, T.USER_ID, T.CONTENT, T.POSTAGE
    FROM post as T
    WHERE T.USER_ID  (CALL MyFollowers());

Я получаю синтаксическую ошибку на CALL. поэтому я предположил, что не могу использовать возвращаемое значение хранимой процедуры для IN или EXISTSkeyword. есть ли другой способ сделать это?


person Obi Wan Kenobi    schedule 06.07.2021    source источник
comment
Если вы покажете, что делает MyFollowers, тогда будут возможны другие ответы. Вы создали процедуру для решения какой-то конкретной проблемы? Какая версия MySQL?   -  person danblack    schedule 06.07.2021


Ответы (1)


после некоторых поисков я нашел это:

Проблема в том, что хранимые процедуры на самом деле не возвращают вывод напрямую. Они могут выполнять операторы выбора внутри сценария, но не имеют возвращаемого значения. MySQL вызывает хранимые процедуры через CALL StoredProcedureName (); И вы не можете направить этот вывод ни на что, поскольку они ничего не возвращают (в отличие от функции). Команда вызова MySQL

исходное сообщение находится здесь

person Obi Wan Kenobi    schedule 06.07.2021