Fehler, die darauf hinweisen, dass „bereits ein Objekt vorhanden ist“ und „die Datenbank bereits vorhanden ist“, können leicht vermieden werden, indem zunächst festgestellt wird, ob Ihre Tabelle und Datenbank bereits erstellt wurden.
Stört Sie diese Art von Fehler, wenn Sie versuchen, Tabellen und Datenbanken in SQL Server zu erstellen?
Sie erhalten diese Meldungen niemals, wenn Sie zuerst prüfen, ob die Datenbank und die Tabelle über die Datenbank vorhanden sind WENN EXISTS Befehl. Hier sind zwei Beispiele für die Suche nach einer bestimmten Tabelle oder Datenbank.
Ist die Tabelle in der Datenbank vorhanden?
IF EXISTS (SELECT [Name] FROM sys.tables WHERE [Name] = 'Employee') DROP TABLE-Mitarbeiter GO CREATE TABLE-Mitarbeiter (EmpId INT, FName VARCHAR (30), LName VARCHAR (30), Gehalt INT) GO
In diesem Beispiel sys.tables ist eine vom System erstellte Tabelle, die die Liste aller erstellten Tabellen in Ihrer Datenbank enthält. Zuerst filtern wir mit der Name Spalte und geben Sie die Mitarbeiter Tabellenname. Wenn diese Tabelle bereits vorhanden ist, löschen wir sie und erstellen eine neue Mitarbeiter Tabelle.
Wenn die Tabelle nicht vorhanden ist, wird die Tabelle mit den Mitarbeitern aufgeführt.
Existiert die Datenbank?
Wir gehen in einem Muster durch, das unserem vorherigen Beispiel ähnelt. Anstatt nach einer Tabelle zu suchen, prüfen wir, ob die Datenbank vorhanden ist.
IF EXISTS (SELECT [Name] FROM sys.databases WHERE [Name] = 'DbArticles') DROP DATABASE DbArticles GO CREATE DATABASE DbArticles GO
Das sys.databases ist eine vom System erstellte Tabelle, die die Liste der Datenbanken innerhalb des SQL-Servers enthält. Wir filtern basierend auf dem Name Spalte und die Artikel Name der Datenbank. Wenn die Datenbank bereits vorhanden ist, löschen wir die Datenbank und erstellen eine neue Datenbank mit demselben Namen. Wenn die Datenbank nicht vorhanden ist, wird sie erstellt Artikel Datenbank.