Retornar lista de nomes das tabelas em banco de dados SQL

10 respostas
Roger75

Olá,

Como eu faço para retornar a lista de tabelas da minha database no SQL Server?

Eu vi que existe uma classe DataBaseMetaData com um método getTables, alguém já usou? Este método requer um monte de parâmetros…

10 Respostas

Rafael_Steil

Nao existe no sql server um comando que lista as tabelas? Por exemplo, no mysql eh SHOW TABLES. Voce pode usar ele para pegar as tabelas - ex, simplesmente crie um Statement, chame o executeQuery(), e trabalhe com o ResultSet

Rafael

foia

Tenta algo do tipo:


String[] tableTypes = { “TABLE” };

DatabaseMetaData metaData;

Connection conn = null;

ResultSet rs = null;
try

{

conn = getConnection();

metaData = conn.getMetaData();

rs = metaData.getTables( null, null, “%”, tableTypes );

fôia

S

Pode ser que existe algo parecido com o oracle.

Select table_name from all_tables

Exitem outras como all_views, etc…

é só ver se tem.

Falow

B

Execute este comando

SELECT *
FROM sysobjects
WHERE xtype=‘U’

Roger75

A sugestao do Bjorn Born deu certo, a do Ssalgado nao deu. Na do foia, tb deu certo, mas se alguem quiser pegar o nome da tabela, tem que fazer:

nome_tabela=rs.getString(“TABLE_NAME”);

Grato pela ajuda

felipereisbr

Ok, mtu bom consegui pela query do prórpio banco…

Obrigado

uhitlei1

Foia, como que eu pego o resutado do Resulset nesse caso?

uhitlei1

Eu achei uma forma muito interessante

...
 try {
            rs1 = con.getMetaData().getColumns(null, null, "", null);
            rs = con.getMetaData().getTables(null, null, "", null);
            while (rs.next()) {
                System.out.println(rs.getString("TABLE_NAME"));  
                System.out.println(rs.getString("TABLE_TYPE"));
               
            } ...
R

O que tem nesse seu getMetaData?

uhitlei1

ele pega a estrutura do banco em tabelas, e colunas

Criado 13 de abril de 2005
Ultima resposta 31 de mai. de 2012
Respostas 10
Participantes 8