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模式。