среда, 2 марта 2011 г.

Изменить запись КУВД

Нам необходимо создать запись КУВД и перенести в нее существующую

1. берем скрипт добавления записи КУВД
Insert into REG_RT.APP_APPLICATIONS
   (ID, NO, R_DATE, SUBJECT, DOC_DESC, RECEIPT, REG_AMOUNT, REG_PERIOD, E_PLAN_DATE, S_REG_ID,
    VOL_ID, VOL_REC_NO, DEPT_ID, INSERTED, INSERTED_BY, UPDATED, UPDATED_BY, APP_SUBJ_TYPE, MOVED, A_TYPE)
 Values
   (2160680001, '00/004/2008-389', TO_DATE('03/24/2008 14:10:00', 'MM/DD/YYYY HH24:MI:SS'),
    'Государственная регистрация права собственности (перехода права)', 'документов - 13, листов - 71', 'Д',
     1, 30, TO_DATE('04/23/2008 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 87001, 313347001, 389, 1,
      TO_DATE('03/24/2008 14:10:13', 'MM/DD/YYYY HH24:MI:SS'), 87001,
       TO_DATE('04/16/2008 13:34:32', 'MM/DD/YYYY HH24:MI:SS'), 123001, 200101, 'Н', 'С');
поле VOL_ID меняем с 313347001 на 30343009
поле VOL_REC_NO меняем с 389 на 1389, чтобы обойти на проверку уникальности

выполняем скрипт. должна добавиться запись в таблице.

2. теперь необходимо исправить все зависимые таблицы. скрипт для просмотра связей
select
ap.id
,ap.NO
,(select count (apo.id) from app_ADD apo where apo.app_id=ap.id) c_APP_ADD
,(select count (apo.id) from app_ADD apo where apo.app_add_id=ap.id) count_APP_ADD_ADD
,(select count (apo.id) from app_AR apo where apo.app_id=ap.id) c_APP_AR
,(select count (apo.id) from app_DOC apo where apo.app_id=ap.id) c_APP_DOC
,(select count (apo.id) from app_ENT apo where apo.app_id=ap.id) c_APP_ENT
,(select count (apo.id) from app_ODS apo where apo.app_id=ap.id) c_APP_ODS
,(select count (apo.id) from app_PAY apo where apo.app_id=ap.id) c_APP_PAY
,(select count (apo.id) from app_RE apo where apo.app_id=ap.id) c_APP_RE
,(select count (apo.id) from app_RT apo where apo.app_id=ap.id) c_APP_RT
,(select count (apo.id) from app_SWITCH apo where apo.app_id=ap.id) c_APP_SWITCH
,(select count (apo.id) from DF_FLD_APP apo where apo.app_id=ap.id) c_DF_FLD_APP
,(select count (apo.app_id) from NAL_EXPORTS_DET apo where apo.app_id=ap.id) c_NAL_EXPORTS_DET


from
app_applications ap
where
ap.id=212863009 -- APP_ID=212863009
or ap.id=212714009
or ap.id=316690009

3. определяем параметры v_old_app_id и v_new_app_id - старый и новый APP_ID
DECLARE 
 v_old_app_id number (20) := 212863009;
 v_new_app_id number (20) := 2160680001;
 
BEGIN
    update app_ADD         apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_ADD         apo set apo.app_add_id = v_new_app_id where apo.app_add_id=v_old_app_id;
    update app_AR          apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_DOC         apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_ENT         apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_ODS         apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_PAY         apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_RE          apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_RT          apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update app_SWITCH      apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update DF_FLD_APP      apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;
    update NAL_EXPORTS_DET apo set apo.app_id = v_new_app_id where apo.app_id=v_old_app_id;

    delete  app_applications ap where ap.id=v_old_app_id;
END;


4. Новой записи указываем правильный номер: поле VOL_REC_NO меняем с 1389 на 389

Комментариев нет:

Отправить комментарий