Como fazer pra saber se uma tabela existe no banco?

12 respostas
G

Ola… a todos !!!

tem como ?

desde ja agradeco: MUITO OBRIGADO !!!

12 Respostas

T

Claro que sim. Que banco você está usando?

V

show tables like ‘NomeDaTabela’

se não retornar nada, é pq não existe

flw

Edit

Mas isso ai é no mysql, não sei nos outros

O

Tem algumas maneiras.

Uma delas tbm é:

Connection c = ...
DatabaseMetaData dbm = c.getMetaData();
// check if "employee" table is there
ResultSet tables = dbm.getTables(null, null, "employee", null);
if (rs.next()) {
  // Table exists
}
else {
  // Table does not exist
}

obtido aqui !

Só não faça o try catch safado forçando um select. :wink:

J

no Oracle

select * from all_tables where table_name =“NOME_TABELA”

abs

G

posso usar em (opcao do cliente - quanto tiver cliente…rsss):

  1. Access;
  2. MySql;
  3. Postgres;
  4. Firebird;
  5. SQLServer;
  6. Oracle;
  7. ou ainda por ODBC !

obrigado !

L

Olá

Sugiro fortemente não disponibilizar as opções 1 e 7.

[]s
Luca

J

KKKKKKK com certeza Access e ODBC são de longe as piores opções.

G

sim…sim…eu sei !

sugestao aceita !

rss

obrigado !!!

G

odair.bonin:
Tem algumas maneiras.

Uma delas tbm é:

Connection c = ...
DatabaseMetaData dbm = c.getMetaData();
// check if "employee" table is there
ResultSet tables = dbm.getTables(null, null, "employee", null);
if (rs.next()) {
  // Table exists
}
else {
  // Table does not exist
}

obtido aqui !

Só não faça o try catch safado forçando um select. :wink:

estou tentando usar essa dica (a q parece dar algum resultado (pra mim)), soh faltou completar os 3 pontinhos do
“Connection c = …” rssss, acho q vai dar certo pra mim… poderia explicar os “…”, por favor ???

muitissimo obrigado !!!

J

Connection c = a conexao com a base de dados.

G

obrigado pela resposta…

mas pra quem conhece eh facil… mas pra quem nao, nem com “catissa” dah pra descobrir…rsss

mas, de qquer forma, obrigado mais uma vez !

abraco !!!

M

Tem um erro grotesco hein kkk

if (tables.next())...

odair.bonin:
Tem algumas maneiras.

Uma delas tbm é:

Connection c = ...
DatabaseMetaData dbm = c.getMetaData();
// check if "employee" table is there
ResultSet tables = dbm.getTables(null, null, "employee", null);
if (rs.next()) {
  // Table exists
}
else {
  // Table does not exist
}

obtido aqui !

Só não faça o try catch safado forçando um select. :wink:

Criado 21 de julho de 2009
Ultima resposta 1 de nov. de 2014
Respostas 12
Participantes 8