AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 117989
Accepted
dw8547
dw8547
Asked: 2015-10-15 02:44:17 +0800 CST2015-10-15 02:44:17 +0800 CST 2015-10-15 02:44:17 +0800 CST

Trabalhando com information_schema PostgreSQL e tabelas (com os mesmos nomes, em esquemas diferentes) cujos nomes começam com um número

  • 772

Estou precisando trabalhar com tabelas cujos nomes começam com números. Por exemplo, no crs_1973esquema existe uma tabela chamada 2015_04_21. Eu sei que quando o nome da tabela é formado por números, devo aspas duplas para trabalhar com ela, por exemplo, SELECT * FROM crs_1973."2015_04_21";(isso funciona para mim). No entanto, quero extrair informações sobre esta tabela do PostgreSQL information_schema. Especificamente, preciso dos tipos de dados das colunas na tabela 2015_04_21,

Eu tentei esta consulta com uma tabela cujo nome começa com uma letra e produz o resultado desejado:

SELECT column_name, data_type
FROM   information_schema.columns
WHERE  table_name = 'some_table_name_that_starts_with_a_letter'
ORDER  BY ordinal_position;

Porém, quando executo essa consulta com as tabelas cujos nomes iniciam com um número, isso não ocorre. Por exemplo:

WHERE  table_name = 'crs_1973.2015_04_21'

não funciona. Nem faz:

WHERE  table_name = 'crs_1973'.'2015_04_21'
WHERE  table_name = 'crs_1973'."2015_04_21"
WHERE  table_name = 'crs_1973'.'"2015_04_21"'
...

etc. Como faço essa consulta funcionar para um nome de tabela que começa com um número? Isso é possível?

Existem tabelas chamadas "2015_04_21" em vários esquemas diferentes, então preciso passar um nome de tabela qualificado para a consulta.

datatypes postgresql-9.3
  • 1 1 respostas
  • 137 Views

1 respostas

  • Voted
  1. Best Answer
    dw8547
    2015-10-15T23:32:16+08:002015-10-15T23:32:16+08:00

    Solução do @ypercube (nos comentários acima):

    SELECT column_name, data_type
    FROM   information_schema.columns
    WHERE table_schema = 'crs_1973' AND
    table_name = '2015_04_21'
    ORDER  BY ordinal_position;
    

    funcionou perfeitamente. Estou escrevendo aqui para que eu possa aceitar a resposta.

    • 2

relate perguntas

  • Como posso alterar o tipo de uma coluna de dinheiro para decimal no PostgreSQL?

  • Qual é a diferença entre os tipos de dados VARCHAR e VARCHAR2 do Oracle?

  • Migrando de NTEXT para NVARCHAR(MAX)

  • Obter registros entre o intervalo de tempo

  • INT(5) vs SMALLINT(5): números entre parênteses após o tipo numérico

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve