Detalhando uma tabela no Oracle

Para quem está acostumado a utilizar o SQL Server, a procedure sp_help está sempre disponível para recuperarmos os detalhes de alguma tabela. No Oracle a coisa muda um pouco de figura. Abaixo estão algumas opções para conseguir esta informação.

A primeira (e talvez a mais utilizada) forma de se conseguir estas informações é usando o comando abaixo:

O problema deste comando é que ele não é um statement SQL em si, ou seja, não irá funcionar em todos os lugares. Aliás, provavel que só funcione no SQL*Plus ou SQL Developer. O DBeaver Community, por exemplo (até a versão 4.1.2) não suporta estes comandos.

Para resolver este problema, você pode utilizar o comando abaixo:

Esta consulta retornará as colunas abaixo. Os nomes são bem intuitivos, então não vou explicá-los (a menos que apareçam dúvidas).

  • OWNER
  • TABLE_NAME
  • COLUMN_NAME
  • DATA_TYPE
  • DATA_TYPE_MOD
  • DATA_TYPE_OWNER
  • DATA_LENGTH
  • DATA_PRECISION
  • DATA_SCALE
  • NULLABLE
  • COLUMN_ID
  • DEFAULT_LENGTH
  • DATA_DEFAULT
  • NUM_DISTINCT
  • LOW_VALUE
  • HIGH_VALUE
  • DENSITY
  • NUM_NULLS
  • NUM_BUCKETS
  • LAST_ANALYZED
  • SAMPLE_SIZE
  • CHARACTER_SET_NAME
  • CHAR_COL_DECL_LENGTH
  • GLOBAL_STATS
  • USER_STATS
  • AVG_COL_LEN
  • CHAR_LENGTH
  • CHAR_USED
  • V80_FMT_IMAGE
  • DATA_UPGRADED
  • HISTOGRAM

 

Extra!

Para conseguir este resultado em outros SGBDs, utilize os comandos abaixo:

sqlite3: .schema nome_da_tabela
Postgres: \d nome_da_tabela
MySQL: describe nome_da_tabela

 

Espero ter ajudado.

The following two tabs change content below.
Breno RdV
Ex-Psicólogo, com quase uma década de experiência em Recursos Humanos e Gestão de Pessoas, atual desenvolvedor e Analista de Sistemas, trabalhando com PowerBuilder, C#, PowerShell e expandindo horizontes para Python, Xamarin, PHP, Angular e (por que não?) Unity.

Comments

comments

Posted in Banco de Dados, Dev and tagged , , , , , , , , , , .