DROP SCHEMA (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punto de conexión de análisis SQL en Microsoft FabricAlmacenamiento en Microsoft Fabric

Quita un esquema de la base de datos.

Convenciones de sintaxis de Transact-SQL

Sintaxis

-- Syntax for SQL Server and Azure SQL Database  
  
DROP SCHEMA  [ IF EXISTS ] schema_name  
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
DROP SCHEMA schema_name  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

IF EXISTS
Se aplica a: SQL Server (desde SQL Server 2016 (13.x) hasta la versión actual).

Quita condicionalmente el esquema solo si ya existe.

schema_name
Es el nombre por el que se conoce el esquema en la base de datos.

Observaciones

El esquema que se va a quitar no puede contener objetos. Si el esquema contiene objetos, la instrucción DROP registrará errores.

Puede ver información sobre los esquemas en la vista de catálogo sys.schemas.

Precaución El comportamiento de los esquemas cambió en SQL Server 2005. En consecuencia, el código que supone que los esquemas son equivalentes a los usuarios de base de datos puede dejar de devolver resultados correctos. Las antiguas vistas de catálogo, incluida sysobjects, no se deben usar en una base de datos en la que se haya utilizado alguna vez cualquiera de las siguientes instrucciones DDL: CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, CREATE USER, ALTER USER, DROP USER, CREATE ROLE, ALTER ROLE, DROP ROLE, CREATE APPROLE, ALTER APPROLE, DROP APPROLE, ALTER AUTHORIZATION. En esas bases de datos, debe usar las nuevas vistas de catálogo. En las nuevas vistas de catálogo se tiene en cuenta la separación de entidades de seguridad y esquemas que se estableció en SQL Server 2005. Para obtener más información sobre las vistas de catálogo, vea Vistas de catálogo (Transact-SQL).

Permisos

Requiere el permiso CONTROL en el esquema o el permiso ALTER ANY SCHEMA en la base de datos.

Ejemplos

El siguiente ejemplo comienza con una única instrucción CREATE SCHEMA. La instrucción crea el esquema Sprockets que es propiedad de Krishna y la tabla Sprockets.NineProngs, concede el permiso SELECT a Anibal y deniega el permiso SELECT a Hung-Fu.

CREATE SCHEMA Sprockets AUTHORIZATION Krishna   
    CREATE TABLE NineProngs (source INT, cost INT, partnumber INT)  
    GRANT SELECT TO Anibal   
    DENY SELECT TO [Hung-Fu];  
GO  

Para quitar el esquema, siga las siguientes instrucciones. Tenga en cuenta que debe quitar primero la tabla contenida en el esquema.

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

Consulte también

CREATE SCHEMA (Transact-SQL)
ALTER SCHEMA (Transact-SQL)
DROP SCHEMA (Transact-SQL)
EVENTDATA (Transact-SQL)