DROP SCHEMA (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse Analytics分析平台系统 (PDW)Microsoft Fabric 中的 SQL 分析端点Microsoft Fabric 中的仓库

从数据库中删除架构。

Transact-SQL 语法约定

语法

-- 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  

参数

IF EXISTS
适用范围:SQL Server(SQL Server 2016 (13.x) 到当前版本)。

只有在架构已存在时才对其进行有条件地删除。

schema_name
架构在数据库中所使用的名称。

注解

要删除的架构不能包含任何对象。 如果架构包含对象,则 DROP 语句将失败。

可以在 sys.schemas 目录视图中查看有关架构的信息。

注释

架构不等同于数据库用户。 使用 系统目录视图 标识数据库用户和架构之间的任何差异。

权限

要求对架构具有 CONTROL 权限,或者对数据库具有 ALTER ANY SCHEMA 权限。

示例

以下示例从单个 CREATE SCHEMA 语句开始。 该语句创建 Sprockets 拥有的架构 Krishna 以及表 Sprockets.NineProngs,然后将 SELECT 权限授予 Anibal,并对 SELECT 拒绝 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  

下列语句删除架构。 请注意,必须首先删除架构所包含的表。

DROP TABLE Sprockets.NineProngs;  
DROP SCHEMA Sprockets;  
GO  

另请参阅

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