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:

  1. ##GlobalTempTable est un type de table temporaire entre toutes les sessions de l'utilisateur.
  2. #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 par SELECT @@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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow