Начало » Использование СУБД » PostgreSQL » Как создать цепочку обновлений полей строки? (Как создать цепочку обновлений полей строки?)
Как создать цепочку обновлений полей строки? [сообщение #5762] |
Thu, 21 November 2024 15:47 |
DaniilGray
Сообщений: 18 Зарегистрирован: October 2024
|
Junior Member |
|
|
Дано: таблица.
В таблицу вставляется строка данных. При этом 6 столбцов таблицы не заполняются.
Через какое-то время строка обнаруживается и обрабатывается внешней программой и один из столбцов (пустойстолбец1) заполняется.
Я триггером BEFORE UPDATE успешно отслеживаю заполнение этого столбца.
Дальше... Дальше в триггерной функции, назначенной этому триггеру, я могу прописать:
NEW.пустойстолбец2:=NOW();
NEW.пустойстолбец3:=функция1(NEW.пус� �ойстолбец1);
NEW.пустойстолбец4:=NOW();
NEW.пустойстолбец5:=функция2(NEW.пус� �ойстолбец3);
NEW.пустойстолбец6:=NOW();
Проблема в том, что в пустых столбцах 2, 4 и 6 я получу одно и то же время. Попробовал использовать переменные - всё равно время одно и то же.
А как мне отслеживать время, потраченное на выполнение той самой внешней программы, функции1 и функции2 по отдельности?
Ведь при создании цепочки триггеров BEFORE UPDATE я на выходе получу те же самые строки, что и сейчас?
Или создавать кучу таблиц, куда будет переезжать поле-идентификатор строк, подлежащий обработке столбец, и при вставке строки будет запускаться соответствующая столбцу функция?
Для трёх столбцов ещё ладно, а если их сто будет?
Или пускай автор программы дописывает свою клятую программу, и запускает обновление всех столбцов по очереди с указанием времени?
|
|
|
|
|
|
Переход к форуму:
Текущее время: Wed Dec 18 12:11:59 GMT+3 2024
Общее время, затраченное на создание страницы: 0.01109 секунд
|