Vérification de SQL Server si la table ou la base de données existe déjà

Les erreurs qui avertissent qu'il existe "déjà un objet" et que la "base de données existe déjà" peuvent facilement être évitées en déterminant d'abord si votre table et votre base de données ont déjà été créées.

Ces types d'erreur vous importunent-ils lorsque vous essayez de créer des tables et une base de données dans SQL Server?

Vous ne recevrez jamais ces messages si vous vérifiez d’abord que la base de données et la table existent via le SI EXISTE commander. Voici deux exemples recherchant une table ou une base de données spécifique.

La table existe-t-elle dans la base de données?

IF EXISTS (SELECT [nom] FROM sys.tables WHERE [nom] = 'Employé') DROP TABLE Employé GO CREATE TABLE Employé (EmpId INT, FName VARCHAR (30), LName VARCHAR (30), Salary INT) GO

Dans cet exemple sys.tables est une table créée par le système qui inclut la liste de toutes les tables créées dans votre base de données. Tout d’abord, nous filtrons avec le prénom colonne et spécifiez le employé nom de la table. Si ce tableau existe déjà, nous le lâchons et créons un nouveau employé table.

Si la table n'existe pas, l'instruction de la table employee.

La base de données existe-t-elle?

Nous allons parcourir un motif similaire à notre exemple précédent. Au lieu de rechercher une table, nous allons vérifier si la base de données existe à la place.

SI EXISTE (SELECT [nom] DE sys.databases WHERE [nom] = 'DbArticles') SUPPRIMER LA BASE DE DONNEES DbArticles GO CREER LA BASE DE DONNEES DbArticles GO

le sys.databases est une table créée par le système qui inclut la liste des bases de données du serveur SQL. Nous filtrons en fonction du prénom colonne et le dArticles nom de la base de données. Si la base de données existe déjà, nous la supprimons et créons une nouvelle base de données sous le même nom. Si la base de données n’existe pas, elle créera dArticles base de données.