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

Субъекты, обе стороны по сделкам к-п

SELECT
b.S_DATE "ДатаСд"
,b.reg_no "РегНоСд"
,(SELECT wm_concat(o.ADR_PRN_DESC)  
  FROM RT_RIGHTS r, RE_OBJECTS o 
  WHERE r.brg_id=b.ID AND o.ID=r.re_id AND r.TYPE_CODE=204
) "Адрес"
,(SELECT wm_concat(Rt.ent_desc(r.ID))  
  FROM RT_RIGHTS r
  WHERE r.brg_id=b.ID AND r.TYPE_CODE=204
) "Покупатель"
,(SELECT wm_concat(Rt.ent_desc(rr.ID))  
  FROM RT_RIGHTS r, RT_RS rtrs, RT_RIGHTS rr
  WHERE r.brg_id=b.ID AND r.TYPE_CODE=204 AND rtrs.RS_ID=r.ID AND rtrs.RT_ID=rr.ID
) "Продавец"
,(SELECT wm_concat(Rt.DOC_DESC(rr.ID,'S'))  
  FROM RT_RIGHTS r, RT_RS rtrs, RT_RIGHTS rr
  WHERE r.brg_id=b.ID AND r.TYPE_CODE=204 AND rtrs.RS_ID=r.ID AND rtrs.RT_ID=rr.ID
) "Документ"
FROM
BRG_BARGAINS b
WHERE
b.TYPE_CODE=1
AND B.S_DATE BETWEEN TO_DATE ('&start#', 'dd.mm.yyyy') AND TO_DATE ('&end#', 'dd.mm.yyyy')

пятница, 11 марта 2011 г.

Площади земель сельхоз назначений

select
O.CAD_NUM||O.OBJ_NUM "КадУслНо"
,O.PREV_CAD_NUM "ПредКадНо"
,O.ADR_PRN_DESC "Адрес"
,(case
    when o.TSQ_UNITS=10 then O.TOTAL_SQ
    when o.TSQ_UNITS=20 then O.TOTAL_SQ*10000
  end) "Площадь"
,R.PART "Часть"
,R.REG_NO "РегНо"
,R.S_DATE "ДатаРег"
,R.E_DATE "ДатаПрек"
,decode(r.TYPE_CODE,r.TYPE_CODE,(select RV.NAME from rt_rights_voc rv where rv.code=r.type_code)) "ТипПрава"
,RT.DOC_DESC(r.ID) "Докум"

from 
re_objects o
,rt_rights r
where
o.r_type=1
and (
     select count(RPS.ID) 
     from re_purposes rps 
     where RPS.RE_ID=o.id
     and RPS.TYPE_CODE like '11____'
    )>0
and R.RE_ID=o.id
and R.R_GROUP='П'

order by O.CAD_NUM,R.REG_NO

среда, 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