Делать множественную вставку в хранимую процедуру
Мне нужно сделать несколько вставок в хранимой процедуре с MySQL. Я искал об этом, но я не нашел почти никакой информации или примеров вообще.
Количество сообщений (вставок) варьируется. Иногда может быть один, иногда может быть двадцать.
Короче говоря, мне нужно сделать следующее: скажем, пользователи могут принадлежать к группе. Если один из них покинет группу, мне нужно сообщить об этом другим пользователям с сообщением.
Вставки будут примерно такими:
INSERT INTO messages (author, dest, title, msg)
VALUES (ldr,id1,'Same title for all messages','Same body message for all'),
(ldr,id2,'Same title for all messages','Same body message for all'),
...
Я пытался сделать это с одиночными вставками в цикл, но, как вы можете догадаться, это длится очень долго.
Возможные способы, которые я думал или видел на других страницах:
- Перенесите идентификаторы пользователей в текстовую переменную, подготовьте оператор вставки с помощью команды PREPARE и выполните его.
- Возьмите идентификаторы пользователей, создайте временную таблицу, введите идентификаторы и, наконец, вставьте все сообщения оттуда.
- Любой другой способ сделать это...¿?
Я не знаю, какой из них является лучшим способом сделать это в смысле хорошей практики и производительности / эффективности.
Есть ли у вас какие-либо идеи?
Если вы знаете, как это сделать, не могли бы вы написать простой пример?
Огромное спасибо.