この文は、データベース内にドメインを作成するために使用します。
CREATE { DOMAIN | DATATYPE } [ AS ] domain-name data-type [ [ NOT ] NULL ] [ DEFAULT default-value ] [ CHECK ( condition ) ]
domain-name : identifier
data-type : 精度と桁数を含めた組み込み型データ型
DOMAIN | DATATYPE 句 CREATE DOMAIN は ANSI/ISO SQL3 の用語なので、CREATE DATATYPE ではなく、CREATE DOMAIN を使用することをおすすめします。
NULL 句 この句を使用すると、ドメインに NULL 入力可かどうかを指定できます。ドメインを使用してカラムを定義する場合、NULL 入力可かどうかは次のようにして決まります。
カラム定義で指定された NULL 入力属性
ドメイン定義で指定された NULL 入力属性
NULL 入力属性がカラム定義とドメイン定義のどちらでも明示的に指定されていない場合、allow_nulls_by_default オプションの設定が使用されます。
CHECK 句 CHECK 条件を作成する場合は、条件の中に @ 記号のプレフィクスを持つ変数名を使用できます。データ型をカラムの定義内で使う場合、このような変数をカラム名に置き換えます。こうすると CHECK 条件をデータ型上で定義でき、どのような名前のカラムでもこれを使用できます。
ドメインは、必要に応じて精度と小数点以下の桁数を含めた組み込みデータ型のエイリアスです。データベース内の使いやすさを改善し、一貫性を高めます。
ドメインはデータベース内のオブジェクトです。名前を付けるには識別子のルールに従います。ドメインは、大文字と小文字を区別しません。組み込みデータ型名の場合と同じです。
データ型を作成するユーザは、自動的にそのデータ型の所有者となります。CREATE DATATYPE 文の中では、所有者を指定できません。ドメイン名はユニークにします。また、すべてのユーザはプレフィクスとして所有者を使わなくてもデータ型にアクセスできます。
ドメインは、CHECK 条件と DEFAULT 値を持つことができ、ユーザ側でそのデータ型が NULL 値を使えるかどうかを指定できます。これらの条件と値は、データ型上で定義するカラムによって継承されます。カラム上で明示的に指定された条件または値は、データ型に指定された条件を上書きします。
データベースからデータ型を削除するには DROP 文を使います。ドメインを削除するには、データ型の所有者であるか、DBA 権限が必要です。
RESOURCE 権限が必要です。
オートコミット。
SQL/2003 コア SQL に含まれない SQL/基本機能。
次の文は、35 文字の文字列を保持し、NULL が使用できる address という名前のデータ型を作成します。
CREATE DOMAIN address CHAR( 35 ) NULL; |
次の文は、NULL は使用できず、デフォルトでオートインクリメントされる ID という名前のデータ型を作成します。
CREATE DOMAIN ID INT NOT NULL DEFAULT AUTOINCREMENT; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |