Делать множественную вставку в хранимую процедуру

Мне нужно сделать несколько вставок в хранимой процедуре с 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 и выполните его.
  • Возьмите идентификаторы пользователей, создайте временную таблицу, введите идентификаторы и, наконец, вставьте все сообщения оттуда.
  • Любой другой способ сделать это...¿?

Я не знаю, какой из них является лучшим способом сделать это в смысле хорошей практики и производительности / эффективности.

Есть ли у вас какие-либо идеи?

Если вы знаете, как это сделать, не могли бы вы написать простой пример?

Огромное спасибо.

0 ответов

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