¿Cómo eliminar un esquema en SQL Server con DROP SCHEMA?

Resumen: en este tutorial, aprenderás a usar la instrucción DROP SCHEMA
de SQL Server para eliminar un esquema de una base de datos.
Introducción de DROP SCHEMA de SQL Server
En artículos anteriores vimos cómo crear (CREATE SCHEMA) o modificar (ALTER SCHEMA) un esquema, en este artículo veremos la declaración DROP SCHEMA
que te permite eliminar un esquema de una base de datos. A continuación, se muestra la sintaxis de la sentencia DROP SCHEMA
:
DROP SCHEMA [IF EXISTS] schema_name;
En esta sintaxis:
- Primero, se especifica el nombre del esquema que deseas eliminar. Si el esquema contiene algún objeto, la instrucción fallará. Por lo tanto, debes eliminar o mover todos los objetos del esquema antes de eliminar el esquema.
- En segundo lugar, debes usar la opción
IF EXISTS
para eliminar condicionalmente el esquema solo si existe. Si intentas eliminar un esquema que no existe sin la opciónIF EXISTS
, se producirá un error.
Ejemplo de instrucción DROP SCHEMA de SQL Server
Primero, crea un nuevo esquema llamado logistics
:
CREATE SCHEMA logistics;
GO
A continuación, crea una nueva tabla denominada deliveries
dentro del esquema de logistics
:
CREATE TABLE logistics.deliveries
(
order_id INT PRIMARY KEY,
delivery_date DATE NOT NULL,
delivery_status TINYINT NOT NULL
);
Luego, intenta eliminar el esquema logistics
:
DROP SCHEMA logistics;
SQL Server regresará el siguiente error porque el esquema no está vacío.
Msg 3729, Level 16, State 1, Line 1
Cannot drop schema 'logistics' because it is being referenced by object 'deliveries'.
Después de eso, elimina la tabla logistic.deliveries
:
DROP TABLE logistics.deliveries;
Finalmente, ejecuta DROP SCHEMA
nuevamente para eliminar el esquema de logistics:
DROP SCHEMA IF EXISTS logistics;
Ahora, encontrarás que el esquema de logistics se ha eliminado de la base de datos.
En este tutorial, aprendiste a usar la instrucción DROP SCHEMA
de SQL Server para eliminar un esquema de una base de datos.