Существует две базы данных, база данных A имеет таблицу A со столбцами id, group и flag. База данных B имеет таблицу B со столбцами ID и флага. Таблица B по существу является подмножеством таблицы A where the group == 'B'
.
Они обновляются / создаются странными способами, которые в настоящее время находятся за пределами моего понимания и выходят за рамки этого вопроса (сейчас не время исправлять основные настройки и методы этого клиента).
Проблема в том, что когда флаг в таблице A обновляется, он не отражается в таблице B, но должен быть. Это не критичная по времени проблема, поэтому было предложено создать работу, чтобы справиться с этим. Может быть, потому что это конец недели, или, может быть, потому что я никогда не писал больше, чем самые простые хранимые процедуры (я программист, а не администратор баз данных), но я не уверен, как это сделать.
На упрощенном уровне хранимая процедура будет выглядеть примерно так:
Select * in table A where group == B
Затем выполните цикл по resultset
и обновите флаг для каждого идентификатора.
Но я даже не уверен, как сделать цикл в stored procedure
, как это. Предложения? Пример кода будет предпочтительным.
Осложнение: Хорошо, это тоже немного сложнее. Таблица B находится в отдельной базе данных для каждой группы, и нам нужно обновить этот флаг для всех групп. Таким образом, нам нужно было бы установить отдельный триггер для каждой группы для обработки каждого имени БД.
И да, вставки в таблицу B уже обработаны - это просто для обновления статуса флага.