• 検索結果がありません。

CREATE TABLE

ドキュメント内 Oracle Lite SQL リファレンス,リリース4.0.1 (ページ 149-153)

CREATE TABLE

構文構文構文 構文

synonym 作成されるシノニムの名前。

FOR object シノニムが作成されるオブジェクトを指定します。 schemaのあるオブ

ジェクトを修飾しない場合、Oracle Liteではユーザー自身のスキーマに オブジェクトが含まれていると解釈されます。 オブジェクトは表、

ビュー、順序または別のシノニムです。 オブジェクトは、現時点で存在 している必要はなく、またオブジェクトへのアクセス権限も必要ありま せん。

引数 引数引数

引数 説明説明説明説明

; s u b q u e ry A S

T A B L E

s c h e m a

ta b le

C R E A T E

.

colum n_list

column_list::=

用途用途用途 用途

データベース表を作成します。

また、指定された副問合せの結果に基づいてデータベースを作成し移入します。 列のデータ 型は、副問合せの結果集合から導出されます。 詳細は、「使用上の注意」を参照してくださ い。

前提条件 前提条件前提条件 前提条件

ユーザーのスキーマまたは別のスキーマ内に表を作成するには、データベースにSYSTEM として、またはDBA/DDL権限を持つユーザーとしてログインする必要があります。

引数 引数引数

引数 説明説明説明説明

schema 所有者であるユーザーと同じ名前のスキーマ。 省略すると、デフォ

ルトのスキーマ名が使用されます。

table データベースの表の名前。 表名にはピリオド「.」を含めることはで

きません。また、アンダースコア「_」の付いた文字で始めること もできません。

column 表の列の名前。

datatype columnのデータ型。 副問合せでは使用できません。

DEFAULT 新しい列に対してデフォルト値expr(式)を指定するか、既存の列

に対して新規デフォルトexprを指定します。 以下のいずれかになり ます。

DEFAULT NULL

DEFAULT USER(表が作成された際のユーザー名)

DEFAULT リテラル

式の詳細は、「式の指定」を参照してください。

column_constraint 列整合性制約を追加します。 詳細は、「CONSTRAINT句」を参照し

てください。

(

,

D E F A U LT colum n datatype

expr colum n_constraint table_constraint

)

使用上の注意 使用上の注意使用上の注意 使用上の注意

CREATE ANY TABLEを使用して別のスキーマに表を作成できますが、DBA/DDLロール

が必要です。

各表は、最大1000列を持つことができ、複数の主キー制約を持つことはできません。

次の構文は、Oracle Liteではサポートされていません。

CREATE TABLE <newtablename> AS SELECT * FROM <oldtablename>;

適切なDDLを使用して表を作成する必要があります。その後、次の文を使用して、既存の 表を新しい表にコピーできます。

INSERT INTO <newtablename> SELECT * FROM <oldtablename>;

commit;

column_listが省略された場合は、次のようになります。

副問合せを指定したときに表の列が定義されていない場合、列名はsubqueryにより選択 された式から導出されます。

選択リスト内の式に別名が含まれている場合は、列名として別名が使用されます。

式が別名を持たない列の場合、その名前が列名として使用されます。 列ではなく、別名 を持たない式は無効です。 表の列のデータ型は、副問合せの選択リスト内の対応する式 のデータ型と同じです。

副問合せがUNIONまたはMINUSを含む場合、最初の選択文がこの目的に使用されま す。

column_listが含まれている場合は、次のようになります。

column_list内の列の数は、副問合せの式の数と等しくする必要があります。

列定義は、列名、デフォルト値および整合性制約のみを指定できますが、データ型は指 定できません。

参照整合性制約は、CREATE TABLE文のこの構成では定義できません。 かわりに、後

でALTER TABLE文を使用して参照整合性制約を作成できます。

subqueryでORDER BY句が使用された場合、データはその順序で表に挿入されます。 これは

通常、列による順序に従ったデータのクラスタとなりますが、保証はされません。

table_constraint 表整合性制約を追加します。 詳細は、「CONSTRAINT句」を参照し

てください。

AS subquery SELECT文。

引数 引数引数

引数 説明説明説明説明

例 例例 例1

次の文は、HOTEL_NAMEとCAPACITYの2つの列がある表HOTEL_DIRを作成します。

HOTEL_NAMEは主キーで、CAPACITYはNULLにはできず、デフォルト値が0です。

CREATE TABLE HOTEL_DIR (HOTEL_NAME CHAR(40) PRIMARY KEY, CAPACITY INTEGER DEFAULT 0 NOT NULL)

例 例例 例2

次の文は、表HOTEL_RESTAURANTを作成します。

CREATE TABLE HOTEL_RESTAURANT(REST_NAME CHAR(50) UNIQUE, HOTEL_NAME CHAR(40) REFERENCES HOTEL_DIR,

RATING FLOAT DEFAULT NULL) 列には、次のものが含まれます。

REST_NAMEはレストランの名前です。

HOTEL_NAMEはレストランのあるホテルの名前です。

RATINGはレストランの評価で、そのデフォルト値はNULLです。

表には、次の整合性制約があります。

同じ名前のホテル・レストランが2つ以上あってはならない。

HOTEL_NAMEは、HOTEL_DIR表内のホテルを参照する必要がある。

関連項目 関連項目関連項目 関連項目

CONSTRAINT句、DROP TABLE、ALTER TABLE、SELECT

ドキュメント内 Oracle Lite SQL リファレンス,リリース4.0.1 (ページ 149-153)