TABLE vorhanden

01/05/2010 - 08:47 von Jakob Brunner, Luzern Switzerland | Report spam
Salü zàme
Kann mir jemand schnell sagen, wie ich im SQL-Server testen kann, ob eine
Tabelle (TableName) in einer Dtenbank schon vorhanden ist.
Ich möchte vor dem CREATE TABLE einen Test einbauen und die Tabelle löschen
(DROP), falls sie schon vorhanden ist.

Danke & Gruss
Jakob
 

Lesen sie die antworten

#1 Elmar Boye
01/05/2010 - 12:47 | Warnen spam
Hallo Jakob,

"Jakob Brunner, Luzern Switzerland" schrieb ...
Kann mir jemand schnell sagen, wie ich im SQL-Server testen kann, ob eine
Tabelle (TableName) in einer Dtenbank schon vorhanden ist.



Entweder über GetSchema:
// Tabelle löschen, wenn bereits vorhanden
DataTable tables = connection.GetSchema("Tables", new string[] { null, "Schema", "Tabelle", "TABLE" });
if (tables.Rows.Count > 0)
{
createCommand.CommandText = "DROP TABLE Schema.Tabelle";
createCommand.ExecuteNonQuery();
}

alternativ via OBJECT_ID: http://msdn.microsoft.com/de-de/lib...90328.aspx

internal static bool TableExists(SqlConnection connection, string tableName)
{
SqlCommand command = new SqlCommand(
"SELECT OBJECT_ID(@TableName, 'U')",
connection);
command.Parameters.Add("@TableName", SqlDbType.NVarChar,512).Value = tableName;
object result = command.ExecuteScalar();
return (result != null && result != DBNull.Value);
}

was sich auch für andere Typen (Sichten, Prozeduren usw.) eignet.

Gruß Elmar

Ähnliche fragen