Просмотр Исходного

1. Необходимо скачать и запустить IBExpert [отсюда|http://www.ibexpert.net/ibe/index.php?n=Main.DownloadTrial];

2. Запустить IBExpert и подключиться к базе данных как указано [тут|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=8290321];

3. Создать процедуру скриптом;
{code:lang=sql}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{code}
4. Сделать копию базы данных;


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