Pessoal

Lembrando que essa sintaxe (alter table ... rename constraint ...) é
disponível a partir da versão 9i Release 2.

[ ]'s

André


Em 14 de maio de 2010 15:53, José Laurindo <jlchia...@yahoo.com.br>escreveu:

>
>
> Acho q seria mais fácil que andar pra frente :
>
> => para PKs :
>
> select 'ALTER TABLE '|| CR.OWNER || '.' || CR.TABLE_NAME||' RENAME
> CONSTRAINT ' || CR.CONSTRAINT_NAME||' TO PK_'||CR.TABLE_NAME || ';');
> from dba_constraints CR where owner in
> ('listadeusuariosseparadaporvirgula') and constraint_type = 'P';
>
> => para UKs :
> select 'ALTER TABLE '|| CR.OWNER || '.' || CR.TABLE_NAME||' RENAME
> CONSTRAINT ' || CR.CONSTRAINT_NAME||' TO UK_'||CR.TABLE_NAME ||
> to_char(num_linha, 'FM009') ';');
> from (select owner, table_name, constraint_name, rownum num_linha
> from dba_constraints CR where owner in
> ('listadeusuariosseparadaporvirgula') and constraint_type = 'U'
> ) CR;
>
> e assim por diante pra FKs, Checks... Lógico que :
>
> a) esse código foi escrito de cabeça por mim, vc TEM que checar sintaxe,
> adaptar para suas eventuais necessidades (se quiser restringir as tabs, ou o
> que for)
>
> e
>
> b) ele não prevê as RESTRIÇOES do banco, como identificador com mais de 33
> caracteres, pruma eventual tabela grande ao concatenar prefixos e sufixos
> (como a gente faz) pode dar bode
>
> e
>
> c) ele não checa se o nome gerado Já Existe no banco, se já existir vai dar
> bode
>
> []s
>
> Chiappa
>
> --- Em oracle_br@yahoogrupos.com.br <oracle_br%40yahoogrupos.com.br>, Jose
> Luis Ramos <jose.ramos.caj...@...> escreveu
>
> >
> > Boa tarde, gostaria de uma ajuda para criação de um script genérico (para
> > rodar numa base qualquer) que recrie as constraints que estejam com nomes
> do
> > tipo SYS_123456 para um nome usando um padrão. Os padrões que adotei aqui
> > para a equipe de desenvolvimento foi:
> >
> > PRIMARY KEYS: PK_<nnnnn>, onde "nnnnn" é o nome da tabela onde será
> criada a
> > PK
> >
> >
> >
> > UNIQUE KEYS: UK_<nnnnn>_<no>, onde "nnnnn" é o nome da tabela onde será
> > criada a constraint de UNIQUE e <no> é um número seqüencial caso haja
> mais
> > de uma constraint de UNIQUE para a tabela.
> >
> >
> >
> > FOREIGN KEYS: FK_PPPPP_CCCCC_NN onde
> >
> > PPPPP = NOME DA TABELA PAI
> >
> > CCCCC = NOME DA TABELA FILHA
> >
> > NN = Um número seqüencial para garantir que o nome seja único
> >
> >
> >
> > CHECK CONSTRAINT: CHK_PPPPP_FFFFF, onde
> >
> > PPPPP = Nome da tabela onde foi definida a constraint
> >
> > FFFFF = Nome do campo sobre o qual é definida a constraint de check
> >
> > Agradeço qualquer ajuda.
> >
> > --
> > Jose Luis Ramos Jr
> > Campinas - SP
> > Oracle OCP DBA 8i, 9i,10g
> > Fone: 19-37056793
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
    oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html


Responder a