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 文を 1 つにまとめて一度に処理することができます。データベース内に 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 CREATE SCHEMA 文で GRANT 文と REVOKE 文をサポートする Adaptive Server Enterprise でサポートされています。
次の CREATE SCHEMA 文は、2 つのテーブルがあるスキーマを作成します。文は、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 文の終わりをマークするので、例は、データベースサーバーによって 2 つの文バッチとして解釈されます。テーブル t2 を作成する文が失敗しても、テーブル t1 は作成されます。
CREATE SCHEMA AUTHORIZATION sample_user CREATE TABLE t1 ( id1 INT PRIMARY KEY ); CREATE TABLE t2 ( id2 INT PRIMARY KEY );