Show create table no Oracle?

Se você estava procurando o comando show create table do Mysql no Oracle, seus problemas acabaram!

Enjoy:

SELECT dbms_metadata.get_ddl('TABLE', 'USUARIO', 'SYSGROUP') 
   FROM dual;

É possível buscar outras definições também, além de tabelas. Basta mudar o primeiro parâmetro para o que for desejado, como ‘INDEX’, por exemplo. No caso de tabelas, o segundo parâmetro corresponde ao nome da tabela e o terceiro o nome do schema.

Bom, no meu schema aqui só funcionou com os parâmetros em letra maiúscula.. (O.ô)

É isso, pessoal. Espero que a dica ajude! ;)

3 comments:

  1. Caio Moritz Ronchi, 8. Agosto 2008, 15:20

    Da minha pouca experiência com Oracle, até onde pude entender por tentantiva e erro o Oracle grava todos seus metadados com letras maiúsculas, por isso sempre que tu usas aspas simples na consulta, como nesse caso, é certo que o nome entre parênteses precisará ser passado em letra maiúscula. Já para comandos usuais como “describe”, onde o nome da tabela não é passado entre aspas, tanto faz usar maiúsculas ou minúsculas.

    Boa essa dica, eu não tinha esse comando no meu arsenal.

  2. Thânia Clair, 9. Agosto 2008, 0:24

    Verdade, pode ser isso mesmo. Eu testei muito em letras minúsculas e nada de funcionar… Depois eu pedi um toque para o nosso DBA e ele comentou que precisava ser maiúscula, mas também não explicou o porquê.

  3. […] eu descobri recentemente que era possível, via SQL, descobrir a DDL original de uma tabela, pensei: deve ser possível […]

Escreva um comentário: