Microsoft SQL Server
Drop mot-clé
Recherche…
Introduction
Le mot-clé Drop peut être utilisé avec divers objets SQL. Cette rubrique fournit des exemples rapides d'utilisation différente avec des objets de base de données.
Remarques
Liens vers MSDN.
Tables de chute
La commande DROP TABLE supprime les définitions de table et toutes les données, index, déclencheurs, contraintes et autorisations associées.
Avant de déposer une table, vous devez vérifier si des objets (vues, procédures stockées, autres tables) font référence à la table.
Vous ne pouvez pas supprimer une table référencée par une autre table par FOREIGN KEY. Vous devez d'abord supprimer la clé étrangère en la référençant.
Vous pouvez supprimer une table référencée par une vue ou une procédure stockée, mais après la suppression de la table, la vue ou la procédure stockée n'est plus utilisable.
La syntaxe
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
- Supprimez la table uniquement si elle existe -
database_name
- Indiquez le nom de la base de données contenant la table -
schema_name
- Indiquez le nom du schéma sous lequel se trouve la table -
table_name
- Indiquez le nom de la table àtable_name
Exemples
Supprimez la table avec le nom TABLE_1 de la base de données actuelle et le schéma par défaut dbo
DROP TABLE Table_1;
Supprimer la table avec TABLE_1 de la base de données HR et le schéma par défaut dbo
DROP TABLE HR.Table_1;
Supprimez la table avec TABLE_1 de la base de données HR et schéma externe
DROP TABLE HR.external.TABLE_1;
Déposer des bases de données
La commande DROP DATABASE supprime un catalogue de base de données, quel que soit son état (hors ligne, lecture seule, suspect, etc.), de l'instance SQL Server actuelle.
Une base de données ne peut pas être supprimée si des instantanés de base de données lui sont associés, car les instantanés de base de données doivent être supprimés en premier.
Une chute de base de données supprime tous les fichiers de disque physique (sauf si celui-ci est hors ligne) utilisés par la base de données, sauf si vous utilisez la procédure stockée 'sp_detach_db'.
Une chute d'instantané de base de données supprime l'instantané de l'instance SQL Server et supprime les fichiers physiques également utilisés.
Une base de données supprimée ne peut être recréée qu'en restaurant une sauvegarde (et non à partir d'un instantané de base de données).
La syntaxe
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
- Supprimez la table uniquement si elle existe -
database_name
- Spécifie le nom de la base de données à supprimer. -
database_snapshot_name
- Spécifie l'instantané de base de données à supprimer
Exemples
Supprimer une base de données unique
DROP DATABASE Database1;
Suppression de plusieurs bases de données
DROP DATABASE Database1, Database2;
Supprimer un instantané
DROP DATABASE Database1_snapshot17;
Supprimer si la base de données existe
DROP DATABASE IF EXISTS Database1;
Déposer des tables temporaires
Dans SQL Server, nous avons 2 types de tables temporaires:
-
##GlobalTempTable
est un type de table temporaire entre toutes les sessions de l'utilisateur. -
#LocalTempTable
temp tab - c'est un type de table temporaire qui n'existe que dans la portée actuelle (uniquement dans le processus actuel - vous pouvez obtenir l'ID de votre processus actuel parSELECT @@SPID
)
Le processus de dépôt des tables temporaires est le même que pour la table normale:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
AVANT SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable