Quelle est la meilleure façon de vérifier si une table existe dans une base de données Sql d'une manière indépendante de la base de données ?
Je suis venu avec :
bool exists;
const string sqlStatement = @"SELECT COUNT(*) FROM my_table";
try
{
using (OdbcCommand cmd = new OdbcCommand(sqlStatement, myOdbcConnection))
{
cmd.ExecuteScalar();
exists = true;
}
}
catch
{
exists = false;
}
Existe-t-il une meilleure façon de procéder ? Cette méthode ne fonctionne pas lorsque la connexion à la base de données échoue. J'ai trouvé des méthodes pour Sybase, SQL server, Oracle mais rien qui fonctionne pour toutes les bases de données.
3 votes
Une meilleure solution serait d'utiliser "SELECT 1 FROM
tbl
WHERE 1=0" De cette façon, il ne sera pas aussi consommateur de ressources.