Абонентская плата списалась за будущие дни

Skip to end of metadata
Go to start of metadata

1. Необходимо скачать и запустить IBExpert отсюда;

2. Запустить IBExpert и подключиться к базе данных как указано тут;

3. Создать процедуру скриптом;

create procedure FIX_ABON_FROM_CURRENT
as
declare variable DATE_IN date;
declare variable SESSION_CREDIT numeric(18,0);
declare variable USER_ID integer;
begin
    for select ID,
               SESSION_CREDIT,
               DATE_IN

        from SESSIONS
        where DATE_IN > current_timestamp and SESSION_CREDIT > 0 and TTYPE = -1
        into :USER_ID,
             :SESSION_CREDIT,
             :DATE_IN

    do
    begin
        delete from SESSIONS
        where DATE_IN = :DATE_IN and SESSION_CREDIT = :SESSION_CREDIT and TTYPE = -1 and ID = :USER_ID;
        update USERS U
        set U.CREDIT = U.CREDIT - :SESSION_CREDIT;
        update USERS
        set CREDIT_ADJUST = 0
        where (OSTATOK + DEBIT - CREDIT) > CREDIT_ADJUST and CREDIT_ADJUST > 0 and ID = :USER_ID;

    end
end

4. Сделать копию базы данных;

5. Выполнить процедуру.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.