Доброго времени суток!
Снова рабочие заметки.
Возникла необходимость обновить данные по IP адресам серверов БД на объектах.
Т.е. на основании результата SELECT выполнить UPDATE в другой таблице.
Будем использовать конструкцию EXECUTE BLOCK:
- execute block
- as
- declare term_id int; -- № терминала
- declare adr varchar(20); -- IP адрес пк с базой
- begin
- FOR
- -- Выбираем IP адреса
- select a.terminal_id, a.ip_addr from app_version a
- group by a.terminal_id, a.ip_addr
- -- в эти переменные
- into :term_id, :adr
- do
- begin
- -- Изменяем другую таблицу
- update connections c set c.server_name = :adr where c.terminal_id = :term_id;
- end
- suspend;
- end