DROP TABLE (Transact-SQL)
Mis à jour : 12 décembre 2006
Supprime une ou plusieurs définitions de table ainsi que toutes les données, index, déclencheurs, contraintes et spécifications d'autorisation se rapportant à celles-ci. Toute vue ou procédure stockée faisant référence à la table supprimée doit être supprimée explicitement au moyen de l'instruction DROP VIEW ou DROP PROCEDURE.
Syntaxe
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
Arguments
- database_name
Nom de la base de données dans laquelle la table a été créée.
- schema_name
Nom du schéma auquel appartient la table.
- table_name
Nom de la table à supprimer.
Notes
L'instruction DROP TABLE ne peut pas être utilisée pour supprimer une table référencée par une contrainte FOREIGN KEY. Vous devez au préalable supprimer la contrainte FOREIGN KEY ou la table qui la référence. Si la table de référence et la table qui contient la clé primaire sont supprimées dans la même instruction DROP TABLE, la table de référence doit figurer en premier dans la liste.
Il est possible de supprimer plusieurs tables de n'importe quelle base de données. Si une table qui est supprimée fait référence à la clé primaire d'une autre table qui est également en cours de suppression, la table de référence qui contient la clé étrangère doit être répertoriée avant la table contenant la clé primaire à laquelle il est fait référence.
Lorsqu'une table est supprimée, les règles et les valeurs par défaut liées à celle-ci sont dissociées et toutes les contraintes et les déclencheurs qui lui sont associés sont automatiquement supprimés. Si vous recréez la table, vous devez réassocier les règles et valeurs par défaut appropriées, recréer les déclencheurs et ajouter les toutes les contraintes nécessaires.
Si vous supprimez toutes les lignes d'une table à l'aide de DELETE tablename ou si vous utilisez l'instruction TRUNCATE TABLE, la table existe jusqu'à ce que vous la supprimiez.
Les tables et index volumineux qui utilisent plus de 128 extensions sont supprimés en deux phases distinctes : logique et physique. Au cours de la phase logique, les unités d'allocation existantes utilisées par la table sont marquées pour la désallocation et verrouillées jusqu'à la validation de la transaction. Au cours de la phase physique, les pages IAM marquées pour la désallocation sont supprimées physiquement par lots. Pour plus d'informations, consultez Suppression et reconstruction d'objets volumineux.
Autorisations
Nécessite l'autorisation ALTER sur le schéma auquel appartient la table, l'autorisation CONTROL sur la table ou l'appartenance au rôle de base de données fixe db_ddladmin.
Exemples
A. Suppression d'une table dans la base de données active
Cet exemple supprime la table ProductVendor1
ainsi que ses données et ses index de la base de données active.
DROP TABLE ProductVendor1 ;
B. Suppression d'une table dans une autre base de données
L'exemple suivant supprime la table SalesPerson2
de la base de données AdventureWorks
. Cet exemple peut être exécuté à partir de n'importe quelle base de données de l'instance de serveur.
DROP TABLE AdventureWorks.dbo.SalesPerson2 ;
C. Suppression d'une table temporaire
Cet exemple crée une table temporaire, teste son existence, la supprime et teste une nouvelle fois son existence.
USE AdventureWorks;
GO
CREATE TABLE #temptable (col1 int);
GO
INSERT INTO #temptable
VALUES (10);
GO
SELECT * FROM #temptable;
GO
IF OBJECT_ID(N'tempdb..#temptable', N'U') IS NOT NULL
DROP TABLE #temptable;
GO
--Test the drop.
SELECT * FROM #temptable;
Voir aussi
Référence
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
DELETE (Transact-SQL)
sp_depends (Transact-SQL)
sp_help (Transact-SQL)
sp_spaceused (Transact-SQL)
TRUNCATE TABLE (Transact-SQL)
DROP VIEW (Transact-SQL)
DROP PROCEDURE (Transact-SQL)
EVENTDATA (Transact-SQL)
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
12 décembre 2006 |
|