注· 在sql中创建模式,该用户需要获得其管理员权限,在本例中需要获得dbo权限
一、定义模式
语句:create schema <模式名> authorization <用户名>
案例:
为用户创建一个test模式
create schema test authorization dbo;
如果没用指定模式名则默认为用户名
create schema authorization dbo;
定义模式,实际上是定义了一个命名空间,在该空间可以定义数据对象,例如:基本表、视图、存储过程等。
例:为用户dbo创建一个test模式,并在其中定义一个表TAB1.
create schema test authorization dbo
create table TAB1(
col1 smallint ,
col2 int ,
col3 char(20),
col4 numeric(10,3)
)
SELECT * from TAB1
二、删除模式
语句:drop schema <模式名> <cascade|restrict>
其中cascade(级联),表示在删除模式的同时把模式中所有的数据对象全部删除,
restrict(限制),如果该模式中存在数据对象,则会拒绝该删除的执行,在该模式中不存在数据时,则删除该模式
(不过sqlserver 并没有这两个选项),需要手动先删除模式下的数据库对象(表,视图…)
例如:删除之前定义的test模式
drop table test.TAB1
drop schema test
模式的结构
1.模式 create schema… , drop schema…
2.表 create table … , drop table …
3.视图 create view … , drop view….
4.索引 create index, drop index
数据库->模式->表,视图…