Да, вы можете передать строку в процедуру, которая возвращается как результат подзапроса.
Но не как голое запроса:
mysql> create procedure foo (in s text) begin select s; end !!
mysql> call foo(select group_concat(user) from mysql.user);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'select group_concat(user) from mysql.user)' at line 1
Если вы заключите запрос в скобках, он рассчитывает как скалярного подзапроса, то есть подзапрос, который связан возвращать одну строку, один колонке :
mysql> call foo((select group_concat(user) from mysql.user));
+--------------------+
| s |
+--------------------+
| root,root,bill,xbm |
+--------------------+
Я обновил вопрос, чтобы отразить его на самом деле довольно сложную процедуру ... и я не думаю, что вы можете вызывать процедуры из выбора ... Извините за искажение моего вопроса. + 1 для ответа на исходный вопрос. – OliverSamson43
, как только я получу достаточно репутации;) – OliverSamson43