用途
CREATE
SCHEMA
文を使用すると、複数表およびビューを作成し、自分のスキーマ内に1つのトランザクションで複数の権限を付与できます。
CREATE
SCHEMA
文を実行すると、挿入されている個々の文が実行されます。すべての文が正常に実行された場合、そのトランザクションがコミットされます。文の結果が1つでもエラーになった場合は、すべての文がロールバックされます。
注意: この文では、実際にスキーマが作成されるわけではありません。ユーザーを作成すると、自動的にスキーマが作成されます(「CREATE USER」を参照)。この文を実行すると、複数のトランザクションで複数のSQL文を発行しなくても、スキーマに表およびビューが移入され、これらのオブジェクトに対する権限が付与されます。 |
前提条件
CREATE
SCHEMA
文には、CREATE
TABLE
文、CREATE
VIEW
文およびGRANT
文を含めることができます。CREATE
SCHEMA
文を発行する場合は、挿入した文を発行するための権限が必要です。
セマンティクス
schema
スキーマの名前を指定します。スキーマ名は、Oracle Databaseユーザー名と一致している必要があります。
create_table_statement
このCREATE SCHEMA
文の一部として発行するCREATE
TABLE
文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。
create_view_statement
このCREATE
SCHEMA
文の一部として発行するCREATE
VIEW
文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。
grant_statement
このCREATE
SCHEMA
文の一部として発行するGRANT
文を指定します。この文の終わりには、セミコロン(またはその他の終了文字)を付けないでください。この句を使用すると、所有するオブジェクトに対するオブジェクト権限を、他のユーザーに付与できます。また、WITH
ADMIN
OPTION
付きでシステム権限を付与されている場合、それらの権限を他のユーザーに付与できます。
CREATE
SCHEMA
文は、Oracle Databaseでサポートされている完全な構文ではなく、標準SQLで定義されている構文のみをサポートします。
CREATE
TABLE
、CREATE
VIEW
およびGRANT
の各文を指定する順序は重要ではありません。CREATE
SCHEMA
文の中の文では、既存のオブジェクトまたは同じCREATE
SCHEMA
文の他の文で作成したオブジェクトを参照できます。
スキーマに対する権限付与の制限事項: parallel_clause
構文は、CREATE
SCHEMA
のCREATE
TABLE
文で使用できますが、オブジェクトの作成時に並列度は使用されません。
例
スキーマの作成例: 次の文は、サンプルの注文入力ユーザーoe
用のoe
という名前のスキーマ、表new_product
、ビューnew_product_view
を作成し、サンプルの人事部門のユーザーhr
にnew_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;