SQL Server Kontrollera om tabell eller databas redan existerar

Fel som varnar för att "det redan finns ett objekt" och att "databasen redan finns" enkelt kan undvikas genom att först bestämma om din tabell och databas redan har skapats.

Störmer dessa typer av fel dig när du försöker skapa tabeller och databaser i SQL Server?

Du kommer aldrig få dessa meddelanden om du först kontrollerar att databasen och tabellen finns via OM EXISTER kommando. Här är två exempel som söker efter en viss tabell eller databas.

Finns tabellen i databasen?

IF EXISTS (SELECT [namn] FRÅN SYs.tables WHERE [name] = 'Employee') DROP TABELL Anställd GO CREATE TABLE Anställd (EmpId INT, FName VARCHAR (30), LName VARCHAR (30), Lön INT) GO

I detta exempel sys.tables är ett system skapat bord som innehåller en lista över alla skapade tabeller i din databas. Först filtrerar vi med namn kolumn och ange anställd tabellnamn. Om den här tabellen redan finns, släpper vi den och skapar en ny anställd tabell.

Om tabellen inte existerar, skrivs medarbetarens tabell.

Finns databasen?

Vi kommer att gå igenom i ett mönster som liknar vårt tidigare exempel. Istället för att söka efter ett bord kontrollerar vi om db existerar istället.

OM EXISTER (VÄLJ [namn] FRÅN SYs.databases WHERE [name] = 'DbArticles') DROP DATABASE DbArticles GÅ CREATE DATABASE DbArticles GO

De sys.databases är ett system skapat bord som innehåller listan över databaser inom SQL-servern. Vi filtrerar baserat på namn kolumn och dArticles Databas namn. Om databasen redan existerar släpper vi sedan databasen och skapar en ny databas med samma namn. Om databasen inte existerar skapas det dArticles databas.