CREATE SCHEMA

本文详细介绍了如何使用SQL的CREATE SCHEMA语句创建架构,包括创建表、视图以及授权用户访问对象的方法。通过示例展示了在创建对象前授权访问对象的过程,并说明了如何创建相互依赖的FOREIGN KEY约束。

CREATE SCHEMA

创建一个架构,即命名空间,在这个空间中可以进一步定义包含表、视图和权限定义等对象。

语法

CREATE SCHEMA AUTHORIZATION owner
    [ < schema_element > [ ...n ] ]

< schema_element > ::=
    { table_definition | view_definition | grant_statement }

参数

AUTHORIZATION owner

指定架构对象所有者的 ID。此标识符必须是数据库中有效的安全帐户。

table_definition

指定在架构内创建表的 CREATE TABLE 语句。

view_definition

指定在架构内创建视图的 CREATE VIEW 语句。

grant_statement

指定授予用户或用户组权限的 GRANT 语句。 

注释

CREATE SCHEMA 提供了在单个语句中创建表、视图以及授予对象权限的方法。如果在创建任何对象或授予任何权限(这些是在 CREATE SCHEMA 语句中指定的)时发生错误,则不会创建任何对象。

创建的对象不必按逻辑顺序出现,但引用其它视图的视图除外。例如,GRANT 语句可以在创建某个对象之前授予该对象的权限,CREATE VIEW 语句也可以出现在创建该视图所引用表的 CREATE TABLE 语句之前。同样,CREATE TABLE 语句中声明的外键可以指向后面指定的表。例外情况是,如果一个视图的选择语句引用另一个视图,则必须在指定引用视图之前指定被引用的视图。

权限

CREATE SCHEMA 权限默认授予所有用户,但是他们必须有权创建加入到架构中的对象。

 示例
A. 在创建对象之前授权访问对象

下例显示在创建对象之前授予权限。

CREATE SCHEMA AUTHORIZATION ross 

GRANT SELECT on v1 TO public

CREATE VIEW v1(c1) AS SELECT c1 from t1

CREATE TABLE t1(c1 int)

B. 创建相互依赖的 FOREIGN KEY 约束

下例创建相互依赖的 FOREIGN KEY 约束。用其它方法完成由此 CREATE SCHEMA 示例实现的任务时,需要执行多个步骤。

CREATE SCHEMA AUTHORIZATION ross

CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT REFERENCES t2(c1))

CREATE TABLE t2 (c1 INT PRIMARY KEY, c2 INT REFERENCES t1(c1))

  

自己例子

create schema y1 authorization dbo

       create  table  aa

      (sn  int ,

       account  char (10),

       BookNO  char(30),

       BookName  char(200),

       Quantity int,

       Inprice money,

       SalesPrice money

       )

转载于:https://www.cnblogs.com/qiushuixizhao/p/4632900.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值