プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CREATE SCHEMA

用途

CREATE SCHEMA文を使用すると、複数表およびビューを作成し、自分のスキーマ内に1つのトランザクションで複数の権限を付与できます。

CREATE SCHEMA文を実行すると、挿入されている個々の文が実行されます。すべての文が正常に実行された場合、そのトランザクションがコミットされます。文の結果が1つでもエラーになった場合は、すべての文がロールバックされます。


注意:

この文では、実際にスキーマが作成されるわけではありません。ユーザーを作成すると、自動的にスキーマが作成されます(「CREATE USER」を参照)。この文を実行すると、複数のトランザクションで複数のSQL文を発行しなくても、スキーマに表およびビューが移入され、これらのオブジェクトに対する権限が付与されます。

前提条件

CREATE SCHEMA文には、CREATE TABLE文、CREATE VIEW文およびGRANT文を含めることができます。CREATE SCHEMA文を発行する場合は、挿入した文を発行するための権限が必要です。

構文

create_schema::=

create_schema.gifの説明が続きます。
図「create_schema.gif」の説明

セマンティクス

schema

スキーマの名前を指定します。スキーマ名は、Oracle Databaseユーザー名と一致している必要があります。

create_table_statement

このCREATE SCHEMA文の一部として発行するCREATE TABLE文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。


関連項目:

「CREATE TABLE」

create_view_statement

このCREATE SCHEMA文の一部として発行するCREATE VIEW文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。


関連項目:

「CREATE VIEW」

grant_statement

このCREATE SCHEMA文の一部として発行するGRANT文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。この句を使用すると、所有するオブジェクトに対するオブジェクト権限を、他のユーザーに付与できます。また、WITH ADMIN OPTION付きでシステム権限を付与されている場合、それらの権限を他のユーザーに付与できます。


関連項目:

「GRANT」

CREATE SCHEMA文は、Oracle Databaseでサポートされている完全な構文ではなく、標準SQLで定義されている構文のみをサポートします。

CREATE TABLECREATE VIEWおよびGRANTの各文を指定する順序は重要ではありません。CREATE SCHEMA文の中の文では、既存のオブジェクトまたは同じCREATE SCHEMA文の他の文で作成したオブジェクトを参照できます。

スキーマに対する権限付与の制限事項: parallel_clause構文は、CREATE SCHEMACREATE TABLE文で使用できますが、オブジェクトの作成時に並列度は使用されません。


関連項目:

CREATE TABLE」のparallel_clauseを参照してください。

スキーマの作成例: 次の文は、サンプルの注文入力ユーザーoe用のoeという名前のスキーマ、表new_product、ビューnew_product_viewを作成し、サンプルの人事部門のユーザーhrnew_product_viewに対するSELECTオブジェクト権限を付与します。

CREATE SCHEMA AUTHORIZATION oe
   CREATE TABLE new_product 
      (color VARCHAR2(10)  PRIMARY KEY, quantity NUMBER) 
   CREATE VIEW new_product_view 
      AS SELECT color, quantity FROM new_product WHERE color = 'RED' 
   GRANT select ON new_product_view TO hr;