Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновление данных в талице 
:(
    Опции темы
WaxMuDb
Дата 10.11.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Мой вопрос:
--------------------------------------------------------------

В таблице PLATEGI 3 столбца ID,Mem_Id,Status....
как сделать чтобы 1-го числа в 00:00:00 каждого месяца значение в столбце Status изменялось автоматически с "Оплатил" на "Не оплатил"?
PM MAIL   Вверх
LSD
Дата 10.11.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Написать JOB который будет запускаться 1-го числа каждого месяца и делать UPDATE.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Rodman
Дата 10.11.2006, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Цитата(LSD @  10.11.2006,  17:59 Найти цитируемый пост)
UPDATE

при каждом обращении к этой таблице проверять и обновлять если надо...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
LSD
Дата 10.11.2006, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 18
Всего: 538



Цитата(Rodman @  10.11.2006,  18:36 Найти цитируемый пост)
при каждом обращении к этой таблице проверять и обновлять если надо...

Если таблица большая и запросы к ней идут часто, то будет неоправдано большая нагрузка на сервер.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
WaxMuDb
Дата 13.11.2006, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Что такое JOB? И как его написать?
PM MAIL   Вверх
3x3
Дата 13.11.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(WaxMuDb @ 13.11.2006,  17:21)
Что такое JOB? И как его написать?

http://www.google.ie/search?hl=en&q=db...earch&meta=


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
WaxMuDb
Дата 13.11.2006, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 16.8.2006

Репутация: нет
Всего: нет



Чет совсем догнать не могу...так понял чуток...как мне в моем случаее Job написать???
PM MAIL   Вверх
3x3
Дата 13.11.2006, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 17.9.2006

Репутация: 2
Всего: 8



Цитата(WaxMuDb @ 13.11.2006,  18:43)
Чет совсем догнать не могу...так понял чуток...как мне в моем случаее Job написать???

Job - это обычная хранимая процедура, а за её вызов по расписанию отвечает пакет dbms_job.
Надо написать процедуру, которая 
Цитата
значение в столбце Status изменяет с "Оплатил" на "Не оплатил"

И сказать DBMS_JOB'у 
Цитата
 чтобы 1-го числа в 00:00:00 каждого месяца
 он эту процедуру запускал.

PS
После этого, правда, придут ругаться кастомеры, которые предоплатили сервис на несколько месяцев вперёд.. 


--------------------
Зачем платить больше,
когда можно заплатить дважды?
PM   Вверх
Paradox
Дата 14.11.2006, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 3
Всего: 1




Цитата

Чет совсем догнать не могу...так понял чуток...как мне в моем случаее Job написать??? 

вот так примерно
Код

DECLARE
  X NUMBER;
BEGIN
  SYS.DBMS_JOB.SUBMIT
    ( job       => X 
     ,what      => 'BEGIN
UPDATE PLATEGI3 SET Status=''Не оплатил'';
COMMIT;
END;'
     ,next_date => TO_DATE('14.11.2006 10:58:19','dd/mm/yyyy hh24:mi:ss')
     ,INTERVAL  => 'TRUNC(LAST_DAY(SYSDATE)) + 1'
     ,no_parse  => TRUE
    );
  SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || TO_CHAR(x));
END;
/

COMMIT;





--------------------
---
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.1151 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.