新しいスキーマを定義します。
構文
スキーマ認証の作成username schema_element [ ... ]説明
CREATE SCHEMAコマンドのバリアントを使用して、ユーザー名によって所有され、1つ以上のオブジェクトが入力されるスキーマを作成できます。 スキーマとオブジェクトは単一のトランザクションで作成されます。 したがって、作成されたオブジェクトのすべてにはスキーマが含まれます。 そうでない場合、作成されたオブジェクトにスキーマが含まれません。
スキーマは、テーブルやビューなどの名前付きオブジェクトを含む名前空間です。 スキーマ名は、他のスキーマ内の他のオブジェクトの名前と同じであってもよい。 名前付きオブジェクトにアクセスするには、スキーマ名をプレフィックスとして使用してオブジェクトの名前を修飾するか、必要なスキーマを含む検索パスを指定します。 未修飾オブジェクトは、検索パスの前のスキーマである現在のスキーマに作成されます。 このスキーマは、CURRENT_SCHEMA関数によって決定できます。 検索パスの概念とCURRENT_SCHEMA関数は、Oracleデータベースと互換性がありません。
CREATE SCHEMAコマンドには、スキーマ内にあるオブジェクトを作成するサブコマンドが含まれています。 サブクエリは、スキーマの作成後に発行される個別のクエリと同じ方法で処理されます。 作成されたすべてのオブジェクトは、指定されたユーザーが所有しています。
説明 スキーマを作成するには、現在のデータベースに対する CREATE 権限が必要です。
パラメーター
| パラメーター | 説明 |
| username | 新しいスキーマを所有するユーザーの名前。 スキーマ名はユーザー名と同じです。 他のユーザーが所有するスキーマを作成できるのは、スーパーユーザーだけです。 次の項目に注意してください。PolarDB for PostgreSQL (Oracle互換) では、ロールとユーザー名がすでに存在している必要があり、スキーマは存在してはいけません。 Oracleでは、スキーマと同等のユーザーが存在する必要があります。 |
| schema_element | スキーマに作成されるオブジェクトを定義する SQL 文。 CREATE SCHEMAステートメントでは、CREATE TABLE、CREATE VIEW、およびGRANT句を使用できます。 スキーマの作成後、別のコマンドを実行して他のオブジェクトタイプを作成できます。 |
例
CREATE SCHEMA AUTHORIZATION polardb
CREATE TABLE empjobs (ename VARCHAR2(10), job VARCHAR2(9))
CREATE VIEW managers AS SELECT ename FROM empjobs WHERE job = 'MANAGER'
マネージャーを公に選択します。