select 'create index I_' || substr(C.CONSTRAINT_NAME, 3) || ' on ' || C.TABLE_NAME || '(' ||
(select rtrim(xmlagg(xmlelement(e, CC.COLUMN_NAME,',').extract('//text()') order by CC.COLUMN_NAME).GetClobVal(),',')
from ALL_CONS_COLUMNS CC
where CC.OWNER = C.OWNER
and CC.TABLE_NAME = C.TABLE_NAME
and CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME) || ');'
from (
select distinct C.OWNER, C.TABLE_NAME, C.CONSTRAINT_NAME
from
ALL_CONSTRAINTS C,
ALL_CONS_COLUMNS CC
where C.CONSTRAINT_TYPE = 'R'
and C.OWNER = 'PARUS'
and CC.OWNER = C.OWNER
and CC.TABLE_NAME = C.TABLE_NAME
and CC.CONSTRAINT_NAME = C.CONSTRAINT_NAME
and not CC.COLUMN_NAME in ('COMPANY', 'VERSION')
and CC.CONSTRAINT_NAME like 'C\_%' escape '\'
and not exists (
select *
from ALL_IND_COLUMNS IC
where IC.TABLE_OWNER = C.OWNER
and IC.TABLE_NAME = CC.TABLE_NAME
and IC.COLUMN_NAME = CC.COLUMN_NAME)) C
вторник, 28 июля 2015 г.
How to create indexes by foreign key
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий