exportar estrutura de tabela em sql

Backup, Recover, Import, Export, Datapump, etc
Responder
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

Informações do Ambiente:
* Versão do Oracle: 10g
* Sistema Operacional: Suse 9


Estou com a necessidade de exportar somente a estrutura da tabela em sql.
Ou seja, sem os dados, somente o create table.
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

Selecionar tudo

create table nova_tabela as select * from velha_tabela where 1 = 0;
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

Desculpa.
Não expliquei direito.

o que eu preciso é gerar um sql somente com os comandos de criação da tabela em questão.
Ela é muito grande para ser gerada novamente ou importada. Por isso eu necessito somente do sql que conterá o create table com os campos e suas devidas definições.
elidias7
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 153
Registrado em: Qui, 01 Nov 2007 2:53 pm
Localização: Osasco
Eli Dias
Oracle Certified Professional

Opa!

Use o seguinte

Selecionar tudo

select dbms_metadata.get_ddl('OBJETC_TYPE','NOME_TABELA','OWNER') 
from dual
Abraços,
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

Selecionar tudo

[1]: (Error): ORA-31600: invalid input value OBJETC_TYPE for parameter OBJECT_TYPE in function GET_DDL ORA-06512: at "SYS.DBMS_METADATA", 
line 2681 ORA-06512: at "SYS.DBMS_METADATA", 
line 2732 ORA-06512: at "SYS.DBMS_METADATA", 
line 4333 ORA-06512: at line 1
RodrigoValentim
Moderador
Moderador
Mensagens: 367
Registrado em: Ter, 25 Mar 2008 3:41 pm
Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer

Campanha: Faça uma pesquisa antes de perguntar!!!

Você informou um parametro incorreto, onde tem OBJECT_TYPE, bote tabela.

Selecionar tudo

select dbms_metadata.get_ddl( 'TABLE', 'INVENTARIO', 'ESTOQUE' ) from dual
Ou seja,
OBJECT_TYPE = TABLE
INVENTARIO = Minha Tabela que quero o DDL
ESTOQUE = Owner da minha tabela.

Para fazer um select nesta tabela eu faria assim

Selecionar tudo

select * from estoque.inventario
Outra opção que vejo o pessoal fazer é

Selecionar tudo

exp username/password file=emp.dmp log=log_emp.log tables=emp rows=no
Editado pela última vez por RodrigoValentim em Seg, 11 Out 2010 2:33 pm, em um total de 2 vezes.
jlaudirt
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 37
Registrado em: Sáb, 30 Ago 2008 10:16 am
Localização: vilhena - ro

RESOLVIDO!
COM O ESCLARECIMENTO ACIMA FUNCIONOU beleza.


OBRIGADO PELA AJUDA!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes