此语句用于创建数据库用户的表、视图和权限的集合。
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/92 初级特性。
SQL/99 核心特性。
Sybase Adaptive Server Anywhere 不支持在 CREATE SCHEMA 语句中使用 REVOKE 语句,也不允许在 Transact-SQL 批处理或过程中使用它。
以下 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 );
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。