Preciso consultar o banco de dados para obter os nomes das colunas , para não confundir com os dados da tabela. Por exemplo, se eu tiver uma tabela com o nome EVENT_LOG
que contém eventID
, eventType
, eventDesc
, e eventTime
, em seguida, eu gostaria de recuperar esses nomes de campos da consulta e nada mais.
Eu descobri como fazer isso em:
Mas preciso saber: como isso pode ser feito no Oracle ?
USER_TAB_COLUMNS
paraall_tab_columns
. Para ter 100% de certeza sobre o resultado, você pode ter um proprietário específico.No SQL Server ...
Type = 'V' para visualizações Type = 'U' para tabelas
fonte
Você consegue fazer isso:
ou
Nota: aplicável apenas se você souber o nome da tabela e especificamente para Oracle.
fonte
Para o SQL Server 2008, podemos usar information_schema.columns para obter informações da coluna
fonte
INFORMATION_SCHEMA
tabelas são as tabelas de metadados padrão ANSI. Qualquer bom e moderno RDBMS os terá.Para o SQLite, acredito que você pode usar algo como o seguinte:
Explicação do sqlite.org:
Esse pragma retorna uma linha para cada coluna na tabela nomeada. As colunas no conjunto de resultados incluem o nome da coluna, o tipo de dados, se a coluna pode ou não ser NULL e o valor padrão para a coluna. A coluna "pk" no conjunto de resultados é zero para colunas que não fazem parte da chave primária e é o índice da coluna na chave primária para colunas que fazem parte da chave primária.
Veja também: Informações da tabela Pragma do Sqlite.org
fonte
Essa informação é armazenada na
ALL_TAB_COLUMNS
tabela do sistema:Ou você poderia
DESCRIBE
a tabela se você estiver usando o SQL * PLUS:fonte
ALL_TAB_COLUMNS
através do Oracle Database Reference oficial . Esta visualização descreve as colunas das tabelas, visualizações e clusters acessíveis ao usuário atual.select column_name from all_tab_columns where table_name = 'dbo.usertbl';
As outras respostas respondem suficientemente à pergunta, mas pensei em compartilhar algumas informações adicionais. Outros descrevem a sintaxe "DESCRIBE table" para obter as informações da tabela. Se você deseja obter as informações no mesmo formato, mas sem usar o DESCRIBE, você pode:
Provavelmente não importa muito, mas eu escrevi anteriormente e parece se encaixar.
fonte
Incorrect Syntax near '|'
erroPara Oracle
fonte
fonte
No seu caso :
fonte
Para MySQL, use
fonte
Mesmo essa também é uma das maneiras de usá-lo
fonte
Para SQL Server:
fonte
fonte
Você também pode tentar isso, mas pode haver mais informações do que você precisa:
fonte
Mysql
Isso retornará um resultado mais ou menos assim:
Então, para retirar os valores, você pode simplesmente
Isso também é ótimo para passar entradas dinamicamente, pois o REGEXP precisa do '|' para várias entradas, mas também é uma maneira de manter os dados separados e fáceis de armazenar / passar para classes / funções.
Tente inserir dados fictícios e também por segurança ao enviá-los e compare o que foi retornado ao receber erros.
fonte
No Oracle, há duas visualizações que descrevem colunas:
DBA_TAB_COLUMNS descreve as colunas de todas as tabelas, visualizações e clusters no banco de dados.
USER_TAB_COLUMNS descreve as colunas das tabelas, visualizações e
clusters pertencentes ao usuário atual. Esta visualização não exibe a
coluna PROPRIETÁRIO.
fonte
A resposta está aqui: http://php.net/manual/en/function.mysql-list-fields.php Eu usaria o seguinte código no seu caso:
fonte
fonte
você pode executar esta consulta
fonte
Basta selecionar a primeira linha da tabela, para o oracle:
select * from <table name> where rownum = 1;
fonte
Me deparei com esta pergunta procurando acesso aos nomes de coluna no Teradata, então adicionarei a resposta para o 'sabor' do SQL:
As informações são armazenadas no DBC dbase.
A obtenção de tipos de dados é um pouco mais complicada: obtenha o tipo de coluna usando as tabelas do sistema teradata
fonte
Tente isto
fonte
Eu fiz assim
Funciona mesmo em http://data.stackexchange.com cujas tabelas de serviço não conheço!
fonte
fonte