sexta-feira, 28 de janeiro de 2011

CRIAR INDICE PARA FOREING KEY SEM INDICE

CREATE SEQUENCE SEQ_INDX START WITH 1 ;

SELECT 'CREATE INDEX IDX_TS_' || TO_CHAR(SEQ_INDX.NEXTVAL) || ' ON ' || TABLE_NAME || '(' || COLUMN_NAME || ') TABLESPACE SYSTEM PCTFREE 10 STORAGE(INITIAL 81920 ) ;'
FROM
(
SELECT DISTINCT X.COLUMN_NAME,X.TABLE_NAME
FROM DBA_CONS_COLUMNS X
JOIN DBA_CONSTRAINTS Z ON Z.CONSTRAINT_NAME = X.CONSTRAINT_NAME
AND Z.CONSTRAINT_TYPE = 'R'
WHERE X.OWNER = '&owner'
AND NOT EXISTS ( SELECT TABLE_NAME ,COLUMN_NAME
FROM DBA_IND_COLUMNS Y
WHERE Y.TABLE_NAME = X.TABLE_NAME
AND Y.COLUMN_NAME = X.COLUMN_NAME
)
ORDER BY TABLE_NAME,COLUMN_NAME
) ;


DEPOIS É RODAR O RESULTADO DA QUERIE ACIMA

Nenhum comentário:

Postar um comentário