Можете ли вы передать несколько строк выбранных данных в процедуру отдельно в MySQL?

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

Что у меня есть: Используется для передачи имен таблиц другой функции.

DELIMITER $$
CREATE PROCEDURE Save()
BEGIN
CALL OTHERPROCEDURE('Tablename1');
CALL OTHERPROCEDURE('Tablename2');
CALL OTHERPROCEDURE('Tablename3');
//etc...
END;
$$
DELIMITER ;

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

select table_name from information_schema.tables where table_schema = 'testdb';

Поэтому я хотел использовать эту функцию выбора, которая будет возвращать имена всех таблиц в базе данных testdb, а затем эти имена будут передаваться в процедуру OTHERPROCEDURE по одной за раз. Хотя я знаю, что есть способы сделать это, используя PHP, но я пытаюсь заставить его работать исключительно с MySQL, если это возможно.

Это вообще возможно? Если так, как?

0 ответов

Другие вопросы по тегам