Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
创建数据库用户的表、视图和权限的集合。
CREATE SCHEMA AUTHORIZATION userid [ create-table-statement | create-view-statement | grant-statement ] ... ;
CREATE SCHEMA 语句用于创建模式。模式是表、视图及其关联权限的集合。
userid 必须是当前连接的用户 ID。不可以为其他用户创建模式。
如果 CREATE SCHEMA 语句中包含的任何语句失败,则回退整个 CREATE SCHEMA 语句。
CREATE SCHEMA 语句是一种将各个 CREATE 语句和 GRANT 语句合成为一个操作的方法。数据库中没有创建任何 SCHEMA 数据库对象,要删除对象,必须使用各 DROP TABLE 或 DROP VIEW 语句。要撤消权限,必须对授予的每个权限使用 REVOKE 语句。
各个 CREATE 语句或 GRANT 语句不用语句分隔符分隔。语句分隔符用于标记 CREATE SCHEMA 语句其本身的结尾。
必须排序各 CREATE 或 GRANT 语句,以便在授予对象权限之前创建它们。
虽然可以为一个用户创建多个模式,但不建议这样做。
必须具有 RESOURCE 权限。
自动提交。
SQL/2008 CREATE SCHEMA 是 SQL/2008 标准的核心功能。为单个用户创建多个模式的功能是 SQL/2008 可选语言功能 F171。SQL Anywhere 不支持在 CREATE SCHEMA 语句中使用 REVOKE 语句,也不允许在 Transact-SQL 批处理或过程中使用它。
Transact-SQL 受 Adaptive Server Enterprise 支持,即支持在 CREATE SCHEMA 语句中使用 GRANT 和 REVOKE 语句。
下面的 CREATE SCHEMA 语句将创建一个由两个表组成的模式。该语句必须由具有 RESOURCE 权限的用户 ID sample_user 执行。如果创建表 t2 的语句失败,则两个表都不创建。
CREATE SCHEMA AUTHORIZATION sample_user CREATE TABLE t1 ( id1 INT PRIMARY KEY ) CREATE TABLE t2 ( id2 INT PRIMARY KEY );
下列 CREATE SCHEMA 语句中的语句分隔符放置在第一个 CREATE TABLE 语句之后。由于语句分隔符标记 CREATE SCHEMA 语句的结束,因此数据库服务器将该示例解释为两个批处理语句。如果创建表 t2 的语句失败,仍会创建表 t1。
CREATE SCHEMA AUTHORIZATION sample_user CREATE TABLE t1 ( id1 INT PRIMARY KEY ); CREATE TABLE t2 ( id2 INT PRIMARY KEY );