хранимая процедура mysql для удаления и выполнения вставки

#mysql

Вопрос:

У меня есть вариант использования, когда мне нужно удалить данные и выполнить вставку с последними обновлениями

  1. Есть ли способ, которым я могу выполнить массовое удаление и вставить.
  2. Table_A, содержит несколько записей подписки.
  3. Таблица B имеет уникальную подписку
  4. Таблица C похожа на промежуточную таблицу, имеющую несколько подписок с последними обновлениями.

Как только я удалю старые записи, я смогу просто вставить их.

Поскольку в таблице C нет ключевого столбца, я не могу выполнить upsert

Я использую

 DELETE FROM table_A 
WHERE  subscription IN(SELECT subscription
                           FROM   table_b);
 

и затем

 Insert into table_A
SELECT subscription,
       <<other columns>>
from  table_C
 

Комментарии:

1. Какой у тебя вопрос? То, что вы написали, похоже, должно сработать.

2. если вы обновляете таблицу A, не должно иметь значения, есть ли в таблице C ключевой столбец. Это таблица А, для которой может потребоваться уникальный индекс

3. @Барнер,@Гарр Годфери, Мой запрос работает. У меня есть эти проблемы.

4. @Барнер,@Гарр Годфери, Мой запрос работает. У меня есть эти проблемы. 1)Поскольку он удаляет одну подписку за раз, они недоступны для запроса до завершения вставки. 2) Проблема с производительностью — удаление одной подписки за раз с предложением in, похоже, является проблемой. Есть ли способ выполнить массовое удаление, например, хранимую процедуру, в которой я передаю подписку ex: 1000, удаляю их и вставляю. вместо этого выполните удаление и вставку. Надеюсь, я объяснил свою проблему,