DROP SCHEMA语句可用于从数据库中删除模式。 SQL Server 有一些内置架构,例如:dbo、guest、sys 和 INFORMATION_SCHEMA,它们不能被删除。
句法 :
DROP SCHEMA [IF EXISTS] schema_name;
注意:在删除架构之前从架构中删除所有对象。如果架构中有任何对象,则输出将是错误的。
例子 :
让我们创建一个名为 geeksh 的新模式(https://www.geeksforgeeks.org/create-schema-in-sql-server/);
CREATE SCHEMA geeksh;
GO
现在在geeksh模式中创建一个名为geektab 的表:
CREATE TABLE geeksh.geektab
(id INT PRIMARY KEY,
date DATE NOT NULL,
city varchar(200) NOT NULL);
删除架构 geeksh :
DROP SCHEMA geeksh;
SQL Server 将抛出类似的错误,因为架构不为空。
Msg 3729, Level 16, State 1, Line 1
Cannot drop schema 'geeksh' because it is being referenced by object 'geektab'.
让我们删除表 geeksh.geektab :
DROP TABLE geeksh.geektab;
再次运行 DROP SCHEMA 以删除 geeksh 模式:
DROP SCHEMA IF EXISTS geeksh;
现在,geeksh 模式已从数据库中删除。