Microsoft SQL Server
Eliminar palabra clave
Buscar..
Introducción
La palabra clave Drop se puede usar con varios objetos SQL, este tema proporciona ejemplos rápidos de diferentes usos con objetos de base de datos.
Observaciones
Enlaces a MSDN.
Caer mesas
El comando DROP TABLE elimina las definiciones de tabla y todos los datos, índices, activadores, restricciones y permisos relacionados.
Antes de eliminar una tabla, debe verificar si hay algún objeto (vistas, procedimientos almacenados, otras tablas) que haga referencia a la tabla.
No puede eliminar una tabla a la que hace referencia otra tabla mediante FOREIGN KEY. Primero debes soltar la LLAVE EXTERNA que hace referencia a ella.
Puede eliminar una tabla a la que hace referencia una vista o un procedimiento almacenado, pero después de eliminar la tabla, la vista o el procedimiento almacenado ya no se pueden utilizar.
La sintaxis
DROP TABLE [ IF EXISTS ] [ database_name . [ schema_name ] . | schema_name . ]
table_name [ ,...n ] [ ; ]
-
IF EXISTS
- Soltar la tabla solo si existe -
database_name
: especifique el nombre de la base de datos donde se encuentra la tabla -
schema_name
: especifique el nombre del esquema en el que se encuentra la tabla -
table_name
: especifique el nombre de la tabla que se va a quitar
Ejemplos
Elimine la tabla con el nombre TABLE_1 de la base de datos actual y el esquema predeterminado dbo
DROP TABLE Table_1;
Elimine la tabla con TABLE_1 de la base de datos HR y el esquema predeterminado dbo
DROP TABLE HR.Table_1;
Elimine la tabla con TABLE_1 de la base de datos HR y el esquema externo
DROP TABLE HR.external.TABLE_1;
Eliminar bases de datos
El comando DROP DATABASE elimina un catálogo de base de datos, independientemente de su estado (fuera de línea, solo lectura, sospechoso, etc.) de la instancia actual de SQL Server.
No se puede descartar una base de datos si hay instantáneas de la base de datos asociadas a ella, ya que las instantáneas de la base de datos se deben descartar primero.
Una caída de la base de datos elimina todos los archivos de disco físico (a menos que esté fuera de línea) utilizados por la base de datos a menos que use el Procedimiento almacenado 'sp_detach_db'.
Una caída de la instantánea de la base de datos elimina la instantánea de la instancia de SQL Server y elimina los archivos físicos que también utiliza.
Una base de datos eliminada solo se puede volver a crear restaurando una copia de seguridad (tampoco desde una instantánea de la base de datos).
La sintaxis
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]
-
IF EXISTS
- Soltar la tabla solo si existe -
database_name
: especifica el nombre de la base de datos que se eliminará -
database_snapshot_name
: especifica la instantánea de la base de datos que se eliminará
Ejemplos
Eliminar una sola base de datos;
DROP DATABASE Database1;
Eliminar múltiples bases de datos
DROP DATABASE Database1, Database2;
Eliminar una instantánea
DROP DATABASE Database1_snapshot17;
Eliminar si existe la base de datos
DROP DATABASE IF EXISTS Database1;
Soltar tablas temporales
En el servidor SQL tenemos 2 tipos de tablas temporales:
-
##GlobalTempTable
es un tipo de tabla temporal que se esconde entre las sesiones de todos los usuarios. -
#LocalTempTable
temporal#LocalTempTable
: es un tipo de tabla temporal que solo existe en el ámbito actual (solo en el proceso real: puede obtener una identificación de su proceso actual medianteSELECT @@SPID
)
El proceso de eliminación de tablas temporales es el mismo que para la tabla normal:
DROP TABLE [ database_name . [ schema_name ] . | schema_name . ] table_name
ANTES de SQL Server 2016:
IF(OBJECT_ID('tempdb..#TempTable') is not null)
DROP TABLE #TempTable;
SQL Server 2016:
DROP TABLE IF EXISTS #TempTable