Microsoft SQL Server
Elimina la parola chiave
Ricerca…
introduzione
La parola chiave Drop può essere utilizzata con vari oggetti SQL, questo argomento fornisce esempi rapidi di utilizzo diverso con gli oggetti del database.
Osservazioni
Collegamenti a MSDN.
Drop tables
Il comando DROP TABLE rimuove le definizioni di tabella e tutti i dati, gli indici, i trigger, i vincoli e le autorizzazioni correlate.
Prima di rilasciare una tabella, è necessario verificare se esistono oggetti (viste, stored procedure, altre tabelle) che fanno riferimento alla tabella.
Non è possibile eliminare una tabella referenziata da un'altra tabella da FOREIGN KEY. È necessario innanzitutto eliminare la chiave esterna facendone riferimento.
È possibile rilasciare una tabella a cui fa riferimento una vista o una stored procedure, ma dopo aver rilasciato la tabella, la vista o la stored procedure non è più utilizzabile.
La sintassi
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
: rilasciare la tabella solo se esiste -
database_name
: specifica il nome del database in cui è contenuta la tabella -
schema_name
: specificare il nome dello schema in cui si trova la tabella -
table_name
: specifica il nome della tabella da eliminare
Esempi
Rimuovere la tabella con il nome TABLE_1 dal database corrente e il dbo dello schema predefinito
DROP TABLE Table_1;
Rimuovere la tabella con TABLE_1 dal database HR e il dbo dello schema predefinito
DROP TABLE HR.Table_1;
Rimuovere la tabella con TABLE_1 dal database HR e schema esterno
DROP TABLE HR.external.TABLE_1;
Drop Database
Il comando DROP DATABASE rimuove un catalogo di database, indipendentemente dal suo stato (non in linea, di sola lettura, sospetto, ecc.), Dall'istanza di SQL Server corrente.
Non è possibile eliminare un database se vi sono associati snapshot del database, poiché è necessario eliminare prima le istantanee del database.
Un drop di database rimuove tutti i file del disco fisico (a meno che non sia offline) utilizzati dal database a meno che non si utilizzi la stored procedure "sp_detach_db".
Una caduta di istantanee del database elimina lo snapshot dall'istanza di SQL Server ed elimina i file fisici utilizzati anche da esso.
Un database abbandonato può essere ricreato solo ripristinando un backup (non da uno snapshot del database).
La sintassi
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
: rilasciare la tabella solo se esiste -
database_name
: specifica il nome del database da eliminare -
database_snapshot_name
: specifica lo snapshot del database da rimuovere
Esempi
Rimuovere un singolo database;
DROP DATABASE Database1;
Rimozione di più database
DROP DATABASE Database1, Database2;
Rimozione di un'istantanea
DROP DATABASE Database1_snapshot17;
Rimozione se il database esiste
DROP DATABASE IF EXISTS Database1;
Elimina tabelle temporanee
Nel server SQL abbiamo 2 tipi di tabelle temporanee:
-
##GlobalTempTable
è un tipo di tabella temporanea che viene spostato tra tutte le sessioni dell'utente. -
#LocalTempTable
temporanea#LocalTempTable
- è un tipo di tabella temporanea che esiste solo nell'ambito corrente (solo nel processo effettivo - puoi ottenere l'id del tuo processo corrente daSELECT @@SPID
)
Il processo di rilascio delle tabelle temporanee è lo stesso della tabella normale:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
PRIMA di SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable