CREATE SCHEMA
目的
CREATE
SCHEMA
文を使用すると、複数表およびビューを作成し、自分のスキーマ内に1つのトランザクションで複数の権限を付与できます。
CREATE
SCHEMA
文を実行すると、挿入されている個々の文が実行されます。すべての文が正常に実行された場合、そのトランザクションがコミットされます。文の結果が1つでもエラーになった場合は、すべての文がロールバックされます。
ノート:
この文では、実際にスキーマが作成されるわけではありません。ユーザーを作成すると、自動的にスキーマが作成されます(「CREATE USER」を参照)。この文を実行すると、複数のトランザクションで複数のSQL文を発行しなくても、スキーマに表およびビューが移入され、これらのオブジェクトに対する権限が付与されます。
前提条件
CREATE
SCHEMA
文には、CREATE
TABLE
文、CREATE
VIEW
文およびGRANT
文を含めることができます。CREATE
SCHEMA
文を発行する場合は、挿入した文を発行するための権限が必要です。
構文
create_schema::=
セマンティクス
schema
スキーマの名前を指定します。スキーマ名は、Oracle Databaseユーザー名と一致している必要があります。
制限事項
CREATE SCHEMA
はCREATE TABLE
をサポートしますが、CREATE BLOCKCHAIN TABLE
はサポートされていません。
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
文で使用できますが、オブジェクトを作成するときにパラレル化は使用されません。
関連項目:
「CREATE
TABLE
」の「parallel_clause」を参照してください。
例
スキーマの作成: 例
次の文は、サンプルの注文入力ユーザー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;