![]() |
скрипт для PostgreSQL
Здравствуйте!
У меня есть следующий вопрос: как реализовать скрипт, основной задачей которого, будет: 1. поиск наибольшего значения (А) в таблице ind, столбце (index_1). 2. сохранение значения А в таблице ind, столбце (index_1). (так формируется значение В) 3. ожидание 30 минут. 4.поиск наибольшего значения (А) в таблице ind, столбце (index_1). 5. сравнение значения А и В: если А=В то удалить значения А и В из обоих таблиц если А не равно В перейти к пункту 1. Решить задачу своими силами не смог. Поиск по форуму юзал, подобной проблемы не нашел. вот раздробленные части которые написал сам используя справочники и форум: Код:
--<X> Спасибо за помощь. |
PostgreSQL вообще никогда не использовал, поэтому встречный вопрос - в нем есть планировщик, позволяющий выполнять задачу по расписанию? Если да, то это условие надо убрать из скрипта. Далее, можно попробовать использовать примерно такой скрипт(пишу по памяти, возможны ошибки):
1. Смотрим количество максимальных значений. Код:
:Setvar Max_count = select count(idx) as max_idx from rs_taxgrouptotalsitem Код:
:Setvar Max_num = select max(idx) from rs_taxgrouptotalsitem Код:
if Max_count >=2 then Код:
if Max_count =1 then Запускаем. Код ищет количество макс. значений. Т.к. он ни разу еще не работал и в таблице нет двух макс. значений, то код идет на вставку макс. значения в таблицу и заканчивает работу. Через 30 минут запускается, видит, что максимальных значений 2 и удаляет их, после чего заканчивает работу.Если же макс. значений всего одно, то он вставляет его дубль. В след. раз если он опять найдет 1 макс. значение, то продублирует его. Как то как вроде бы. |
спасибо помогло
|
Для спасибо есть кнопочка "Полезное сообщение" под каждым сообщением :) Всегда рады помочь.
|
Время: 22:00. |
Время: 22:00.
© OSzone.net 2001-