Como obter todos os nomes de coluna em um banco de dados oracle
Video: Como ter uma carreira de sucesso com o Banco de Dados Oracle
Conteúdo
- Video: como ter uma carreira de sucesso com o banco de dados oracle
- Video: sql tuning em bancos de dados oracle 10g/11g - introdução de sql tuning - parte 1
bancos de dados Oracle organizar tabelas em contas do proprietário chamados de esquemas. usuários de banco de dados com diferentes privilégios podem consultar os metadados de banco de dados - o chamado "dicionário de dados" - para listar informações, incluindo nomes de coluna, permissões de objeto ou estatísticas de objetos. Para obter os nomes das colunas de tabelas ou vistas em um servidor de banco de dados Oracle, executar uma curta consulta usando o objeto de dados de dicionário mais adequado. A visão USER_TAB_COLS mostra objetos de propriedade do usuário logado, enquanto ALL_TAB_COLS mostra todos os objetos disponíveis para o usuário dadas as suas permissões e DBA_TAB_COLS mostra tudo no banco de dados, independentemente de qual conta de usuário possui o objeto.
Executar uma consulta SQL padrão para retornar resultados do ponto de vista do sistema mais adequado. A consulta básica aparece sob a forma:
SELECT * FROM USER_TAB_COLS;
ALL_TAB_COLS substitutos ou DBA_TAB_COLS conforme apropriado. o "*" símbolo retorna todas as colunas na consulta.
Limitar os dados retornados na consulta, substituindo "select *" com uma lista mais alvo de colunas a partir da vista dicionário. Para retornar somente o esquema, nome da tabela eo nome da coluna para objetos do logado conta pode acessar, use:
proprietário SELECT, table_name, column_name DE ALL_TAB_COLS;
Restringir quais objetos retorno ao limitar seus resultados com um "Onde" cláusula. Por exemplo, para retornar apenas os nomes das colunas para tabelas do usuário logado possui e que começam com a letra "UMA," usar:
SELECT * DE USER_TAB_COLS onde table_name LIKE `A%`;
dicas
- Verifica As grandes organizações que executam um servidor Oracle de nível empresarial, por vezes, oferecem interfaces baseadas em Web para dicionários de dados que consultam todas as colunas da tabela como um usuário anônimo ou sistema sem ter que escrever sua própria consulta. Verifique com um administrador de banco de dados para ver se você tem acesso a essa ferramenta.
- Verifica A Oracle também oferece vistas ALL_TAB_COLUMNS, USER_TAB_COLUMNS e DBA_TAB_COLUMNS. Esses objetos diferentes daqueles que termina em "COLS" filtrando determinadas colunas escondidas. Na maioria dos casos, você terá a informação que você precisa, independentemente de qual conjunto de pontos de vista que você usa.
avisos
- fechar Retornando os nomes das colunas em um grande banco de dados com muitos objetos podem fornecer muita informação para ser útil. Considere estreitando o seu âmbito de inquérito com uma série de filtros de pesquisa no seu SQL "Onde" cláusula.
- fechar Para consultar qualquer objeto de dados de dicionário prefixado com DBA, a conta logado deve ter "selecionar" direitos a esses pontos de vista ou têm SELECT_CATALOG_ROLE da Oracle atribuído. Na maioria dos casos, as tabelas DBA deve especificar o prefixo do esquema SYS, por exemplo, "* SELECT FROM SYS.DBA_TAB_COLS-" ou o seu equivalente.
Referências
- ligação Burleson Consulting: Conceitos da Oracle - Dicionário de Dados
- ligação Oracle: Banco de Dados de Referência: DBA_TAB_COLS
- ligação Oracle: Database Security Guide: Configurando Privilege ea função de autorização