Durante um processo de analise de algumas bases, onde estava sendo feita uma comparação de duas bases afim de garantir que os objetos/estrutura estavam iguais, identifiquei que alguns objetos estavam diferentes.
Diante disto precisei da seguinte informação (E creio que muita gente já fez a mesma pergunta): QUANDO ESTA TABELA FOI CRIADA???? Todo DBA já fez este questionamento....
Outro questionamento também é: QUANDO FOI A ÚLTIMA VEZ QUE MINHA TABELA SOFREU UMA ALTERAÇÃO?
Venho através deste post responder a estas perguntas.
Com a consulta abaixo conseguiremos responder ao questionamento:
SELECT SCHEMA_NAME(SCHEMA_ID) As Esquema, Name As Nome, Create_Date As Criacao, Modify_Date As Modificacao
FROM SYS.TABLES
ORDER BY Modificacao DESC
Através da SYS.TABLES temos algumas informações das tabelas de nosso banco.
Uma dica que gostaria que todos pudessem fazer, é averiguar sobre estas views de sistema.
Acessem o link: http://msdn.microsoft.com/pt-br/library/ms189783.aspx
e estudem sobre os principais tipos. Elas são muito utéis e ajudam muito a resolver vários problemas no processo de desenvolvimento.
Até mais,
Este blog tem o objetivo de compartilhar idéias sobre banco de dados com toda a comunidade de desenvolvedores e analistas de sistemas.
Mostrando postagens com marcador tabelas. Mostrar todas as postagens
Mostrando postagens com marcador tabelas. Mostrar todas as postagens
segunda-feira, 8 de novembro de 2010
Encontrando tabelas no SQL e no Oracle
Segue aqui informação importante e consideravel para agilizar busca de tabelas no SQL Server e também no Oracle.
Temos situações importantes em que precisamos encontrar algumas tabelas dentro do banco de dados. A medida em que o banco de nossa empresa vai crescendo, temos que ter formas rápidas de encontrar estes objetos.
No SQL 2008 temos duas formas:
SELECT * FROM SYS.TABLES e SELECT * FROM SYS.OBJECTS WHERE TYPE = 'U'
Onde na segunda consulta temos o filtro TYPE = 'U' que significa USER_TABLE, ou Tabela de Usuário. Pois temos no SQL o conceito de schema, que podemos ter objetos de mesmo nome mas em schemas diferentes.
No Oracle temos o seguinte comando:
SELECT * FROM DBA_TABLES ou SELECT * FROM USER_TABLES
Assim como no SQL o Oracle tem o conceito de owner ou o dono da tabela. O que significa isso?
Quando estamos no Oracle, acessamos sempre com algum usuário. Se estamos logados no Oracle com o usuário USER1, criamos a tabela CLIENTES e se logarmos com outro usuário, por exemplo, USER2 e rodarmos a segunda consulta buscando pela tabela CLIENTES nada será retornado.
Diferente da primeira consulta, que traz todas as tabelas independente do owner, a segunda filtra sempre pelo usuário logado naquela seção.
Então esta foi uma demonstração de como realizar busca de tabelas no SQL e no Oracle.
Temos situações importantes em que precisamos encontrar algumas tabelas dentro do banco de dados. A medida em que o banco de nossa empresa vai crescendo, temos que ter formas rápidas de encontrar estes objetos.
No SQL 2008 temos duas formas:
SELECT * FROM SYS.TABLES e SELECT * FROM SYS.OBJECTS WHERE TYPE = 'U'
Onde na segunda consulta temos o filtro TYPE = 'U' que significa USER_TABLE, ou Tabela de Usuário. Pois temos no SQL o conceito de schema, que podemos ter objetos de mesmo nome mas em schemas diferentes.
No Oracle temos o seguinte comando:
SELECT * FROM DBA_TABLES ou SELECT * FROM USER_TABLES
Assim como no SQL o Oracle tem o conceito de owner ou o dono da tabela. O que significa isso?
Quando estamos no Oracle, acessamos sempre com algum usuário. Se estamos logados no Oracle com o usuário USER1, criamos a tabela CLIENTES e se logarmos com outro usuário, por exemplo, USER2 e rodarmos a segunda consulta buscando pela tabela CLIENTES nada será retornado.
Diferente da primeira consulta, que traz todas as tabelas independente do owner, a segunda filtra sempre pelo usuário logado naquela seção.
Então esta foi uma demonstração de como realizar busca de tabelas no SQL e no Oracle.
Assinar:
Comentários (Atom)