Это снова я. Теперь проблема в следующем: есть хранимая процедура примерно вот такого содержания:
CREATE PROCEDURE `mult`.`remove_duplicates`(IN tbl_name VARCHAR(200))
BEGIN
DECLARE sites_cursor CURSOR FOR SELECT SiteId FROM tbl_name
GROUP BY SiteId HAVING COUNT(*) > 1;
..........
бла-бла-бла
..........
END
Внимание, вопрос: как мне передать имя таблицы в курсор, чтобы mysql воспримал ее как переменную, а не как строку?
Т.к. сейчас он ругается вот так: ERROR 1146 (42S02): Table 'mult.db_name' doesn't exist
P.S. Если точно так же подставить параметр tbl_name в выражение HAVING COUNT(*) > tbl_name, то все работает...
![](/photos/28264:1919464954.png)
![](/img/p.gif)
Ответ на:
комментарий
от friday
![](/photos/28264:1919464954.png)
![](/photos/31089:1294579841.png)
Ответ на:
комментарий
от gods-little-toy
![](/img/p.gif)
Ответ на:
комментарий
от it-partizan
![](/img/p.gif)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [MySQL] кодировка передаваемых в процедуру параметров. (2011)
- Форум Ставлю zabbix на centos7 и накосячил с базой (2019)
- Форум yoyo migrations не может развернуть БД на mysql (2020)
- Форум Запрос с использованием массива (2020)
- Форум Оптимизация поиска ближайших zip кодов по географическим координатам (2014)
- Форум [mysql] Ошибка при создании хранимой процедуры (2008)
- Форум mysql5: хранимые процедуры (2007)
- Форум Вызов хранимой процедуры mysql из Си (2007)
- Форум Работа с хранимыми процедурами (2014)
- Форум Побился файл /var/lib/mysql/ibdata1 Восстановление mysql из бэкапа (2019)