Elimina tabelle (motore di database)Delete Tables (Database Engine)

QUESTO ARGOMENTO SI APPLICA A:sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzuresìAzure SQL Data Warehouse sìParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

È possibile eliminare una tabella dal database in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can delete (drop) a table from your database in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Attenzione

Prima di eliminare una tabella, valutare le possibili conseguenze.Think carefully before you delete a table. Se query, viste, funzioni definite dall'utente, stored procedure o programmi esistenti fanno riferimento a tale tabella, la modifica renderà non validi tali oggetti.If existing queries, views, user-defined functions, stored procedures, or programs refer to that table, the deletion will make these objects invalid.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

  • Non è possibile eliminare una tabella a cui fa riferimento un vincolo FOREIGN KEY.You cannot drop a table that is referenced by a FOREIGN KEY constraint. È prima necessario eliminare il vincolo FOREIGN KEY o la tabella di riferimento.The referencing FOREIGN KEY constraint or the referencing table must first be dropped. Se con la stessa istruzione DROP TABLE si eliminano sia la tabella di riferimento che la tabella che contiene la chiave primaria, è necessario indicare la tabella di riferimento per prima nell'elenco.If both the referencing table and the table that holds the primary key are being dropped in the same DROP TABLE statement, the referencing table must be listed first.

  • Con l'eliminazione di una tabella, le regole o i valori predefiniti della tabella vengono disassociati e i vincoli o trigger associati alla tabella vengono eliminati automaticamente.When a table is dropped, rules or defaults on the table lose their binding, and any constraints or triggers associated with the table are automatically dropped. Se la tabella viene ricreata, è necessario associare nuovamente le regole e i valori predefiniti appropriati, ricreare eventuali trigger e aggiungere tutti i vincoli necessari.If you re-create a table, you must rebind the appropriate rules and defaults, re-create any triggers, and add all required constraints.

  • Se si elimina una tabella che contiene una colonna varbinary (max) con l'attributo FILESTREAM, non verrà rimosso alcun dato archiviato nel file system.If you drop a table that contains a varbinary (max) column with the FILESTREAM attribute, any data stored in the file system will not be removed.

  • DROP TABLE e CREATE TABLE non devono essere eseguiti nella stessa tabella nello stesso batch.DROP TABLE and CREATE TABLE should not be executed on the same table in the same batch. In caso contrario, è possibile che si verifichi un errore imprevisto.Otherwise an unexpected error may occur.

  • Le viste o stored procedure che fanno riferimento alla tabella eliminata devono essere eliminate o modificate in modo esplicito per eliminare il riferimento alla tabella.Any view or stored procedure that references the dropped table must be explicitly deleted or modified to remove the reference to the table.

Sicurezza Security

Autorizzazioni Permissions

È richiesta l'autorizzazione ALTER per lo schema a cui appartiene la tabella, l'autorizzazione CONTROL per la tabella o l'appartenenza al ruolo predefinito del database db_ddladmin .Requires ALTER permission on the schema to which the table belongs, CONTROL permission on the table, or membership in the db_ddladmin fixed database role.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per eliminare una tabella dal databaseTo delete a table from the database

  1. In Esplora oggetti selezionare la tabella che si desidera eliminare.In Object Explorer, select the table you want to delete.

  2. Fare clic con il pulsante destro del mouse sulla tabella, quindi scegliere Elimina dal menu di scelta rapida.Right-click the table and choose Delete from the shortcut menu.

  3. Verrà visualizzato un messaggio in cui viene chiesto di confermare l'eliminazione.A message box prompts you to confirm the deletion. Scegliere .Click Yes.

    Nota

    Eliminando una tabella verranno eliminate automaticamente anche tutte le corrispondenti relazioni.Deleting a table automatically removes any relationships to it.

Utilizzo di Transact-SQL Using Transact-SQL

Per eliminare una tabella in Editor di queryTo delete a table in Query Editor

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    DROP TABLE dbo.PurchaseOrderDetail;  
    

    Per altre informazioni, vedere DROP TABLE (Transact-SQL)For more information, see DROP TABLE (Transact-SQL)