Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] скрипт для PostgreSQL

Ответить
Настройки темы
Прочие БД - [решено] скрипт для PostgreSQL

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
У меня есть следующий вопрос:
как реализовать скрипт, основной задачей которого, будет:
1. поиск наибольшего значения (А) в таблице ind, столбце (index_1).
2. сохранение значения А в таблице ind, столбце (index_1). (так формируется значение В)
3. ожидание 30 минут.
4.поиск наибольшего значения (А) в таблице ind, столбце (index_1).
5. сравнение значения А и В: если А=В то
удалить значения А и В из обоих таблиц
если А не равно В
перейти к пункту 1.


Решить задачу своими силами не смог.
Поиск по форуму юзал, подобной проблемы не нашел.
вот раздробленные части которые написал сам используя справочники и форум:

Код: Выделить весь код
--<X>
:Setvar X = select max(idx)as max_idx
from rs_taxgrouptotalsitem

insert into work_dpe (idx)
select ide
from rs_taxgrouptotalsitem
where X
time out/ -t 3600

:Setvar Y = select max(idx)as max_idx
from rs_taxgrouptotalsitem

if X=Y then

DELETE FROM rs_taxgrouptotalsitem , work_dpe
 WHERE idx = X ;
 
 --else   go to X
 end if
P.S. знаю, что синтаксис ужасно не правильный, я только учусь поэтому "камнями" не закидывать и не флудить.
Спасибо за помощь.

Отправлено: 12:52, 12-08-2011

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


PostgreSQL вообще никогда не использовал, поэтому встречный вопрос - в нем есть планировщик, позволяющий выполнять задачу по расписанию? Если да, то это условие надо убрать из скрипта. Далее, можно попробовать использовать примерно такой скрипт(пишу по памяти, возможны ошибки):

1. Смотрим количество максимальных значений.
Код: Выделить весь код
:Setvar Max_count = select count(idx) as max_idx from rs_taxgrouptotalsitem
having idx = max(idx)
group by idx
2. Запоминаем максимальное значение
Код: Выделить весь код
:Setvar Max_num = select max(idx) from rs_taxgrouptotalsitem
3. Если максимальных значений больше или равно2(т.е. это случай, если мы уже находили макс. значение и вставляли его), то удаляем их.
Код: Выделить весь код
if Max_count >=2 then
DELETE FROM rs_taxgrouptotalsitem , work_dpe
 WHERE idx = Max_num ;
4. Если же значение одно, то вставляем его в таблицу
Код: Выделить весь код
if Max_count =1 then
insert into work_dpe (idx) values (Max_num);
Все это дело в планировщик каждые 30 минут.
Запускаем. Код ищет количество макс. значений. Т.к. он ни разу еще не работал и в таблице нет двух макс. значений, то код идет на вставку макс. значения в таблицу и заканчивает работу. Через 30 минут запускается, видит, что максимальных значений 2 и удаляет их, после чего заканчивает работу.Если же макс. значений всего одно, то он вставляет его дубль. В след. раз если он опять найдет 1 макс. значение, то продублирует его. Как то как вроде бы.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:44, 13-08-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


спасибо помогло

Отправлено: 16:48, 16-08-2011 | #3


Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


Для спасибо есть кнопочка "Полезное сообщение" под каждым сообщением Всегда рады помочь.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 18:45, 16-08-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - [решено] скрипт для PostgreSQL

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - нужен скрипт для удаления всех файлов кроме нужных для запуска Windows XP Dark Ange1 Скриптовые языки администрирования Windows 11 07-03-2010 13:34
Скрипт для смены сочетания клавишь для переключения регистра zegerman Хочу все знать 2 03-12-2009 08:06
[решено] Нужен скрипт для autoit для раскопирования файла irk72ag Автоматическая установка приложений 3 19-06-2009 15:27
MSFT SQL Server - [решено] Преобразование скрипта для Oracle в скрипт для SQL EvgeniyQQQ Программирование и базы данных 3 25-03-2009 01:26
PostgresQL во FreeBSD Demiurg Общий по FreeBSD 9 17-07-2004 19:52




 
Переход