Share via


Suppression d'une table

Parfois, vous devez supprimer une table ; par exemple, vous pouvez être amené à implémenter une nouvelle conception ou à libérer de l'espace dans la base de données. Lorsque vous supprimez une table, sa définition de structure, ses données, ses index, ses index de recherche en texte intégral et ses contraintes sont définitivement supprimés de la base de données ; par ailleurs, l'espace précédemment utilisé pour stocker la table et ses index est mis à la disposition des autres tables. Vous pouvez supprimer explicitement une table temporaire si vous ne voulez pas attendre sa suppression automatique.

Si vous devez supprimer des tables qui sont associées par des contraintes FOREIGN KEY et UNIQUE ou PRIMARY KEY, supprimez d'abord les tables dotées des contraintes FOREIGN KEY. Si vous devez supprimer une table référencée dans une contrainte FOREIGN KEY mais si vous ne pouvez pas supprimer la totalité de la table de clé étrangère, supprimez la contrainte FOREIGN KEY.

Si vous souhaitez supprimer toutes les données d'une table tout en conservant cette dernière, tronquez-la. Pour plus d'informations, consultez Suppression de toutes les lignes à l'aide de l'instruction TRUNCATE TABLE.

Vous pouvez supprimer ou tronquer des tables et des index volumineux utilisant plus de 128 étendues sans devoir maintenir simultanément des verrous sur toutes les étendues à supprimer. Le moteur de base de données gère la suppression des objets volumineux en deux phases distinctes : une phase logique et une phase physique. Dans la phase logique, les unités d'allocation existantes utilisées par la table sont marquées pour être libérées et sont verrouillées jusqu'à la validation de la transaction. Dans la phase physique, les unités d'allocation marquées pour être libérées sont physiquement supprimées dans des lots. Pour plus d'informations, consultez Suppression et reconstruction d'objets volumineux.

Pour supprimer une table

DROP TABLE (Transact-SQL)

Pour supprimer une contrainte FOREIGN KEY

ALTER TABLE (Transact-SQL)

Pour tronquer une table

TRUNCATE TABLE (Transact-SQL)

Voir aussi

Autres ressources