カラムとその値を指定するだけで、ローにあるカラムにデータを追加できます。そのカラム・リストにない他のすべてのカラムは、NULL 入力可、またはデフォルト値を持つように定義します。デフォルト値の入ったカラムを省略すると、そのカラムにはデフォルトが挿入されます。
たとえば DepartmentID と DepartmentName の 2 つのカラムだけにデータを追加するには、次のような文にします。
INSERT INTO Departments ( DepartmentID, DepartmentName ) VALUES ( 703, 'Western Sales' ); |
DepartmentHeadID にはデフォルトの値はありませんが、NULL. は受け入れます。そのため、NULL は自動的にそのカラムに割り当てられます。
次の ROLLBACK 文を入力して、データベースのこれらの変更をキャンセルしてください。
ROLLBACK; |
指定したカラムの順序はテーブル内のカラムの順序と一致させる必要はありませんが、挿入する値に指定した順序とは一致させてください。
値は INSERT 文で指定された内容に従ってローに挿入されます。カラムに値が入力されていない場合、挿入される値はカラム設定 (NULL 値やデフォルト値を挿入するなど) によって異なります。挿入操作が失敗して、エラーが返される場合もあります。次の表は、挿入される値 (該当する場合) とカラム設定に基づいた結果を示しています。
挿入される値 | NULL 入力可 | NULL 入力不可 | NULL 入力可 (DEFAULT 指定) | NULL 入力不可 (DEFAULT 指定) | NULL 入力不可 (DEFAULT AUTOINCREMENT 指定) |
---|---|---|---|---|---|
<なし> | NULL | SQL エラー | デフォルト値 | デフォルト値 | デフォルト値 |
NULL | NULL | SQL エラー | NULL | SQL エラー | デフォルト値 |
指定された値 | 指定された値 | 指定された値 | 指定された値 | 指定された値 | 指定された値 |
デフォルトでは、テーブルの作成時にカラム定義で NOT NULL と明示的に記述しないかぎり、カラムに NULL を使用できます。allow_nulls_by_default オプションを使用して、デフォルトを変更できます。また、ALTER TABLE 文を使用して、特定のカラムに NULL 値を許可するかどうかを変更できます。allow_nulls_by_default オプション [互換性]とALTER TABLE 文を参照してください。
カラムまたはドメインに対する制約を作成できます。制約はそのデータの種類によって、追加の可否を決定できます。テーブル制約とカラム制約の使い方を参照してください。
NULL を入力すると、カラムに NULL を明示的に挿入できます。NULL を引用符で囲まないでください。囲むと文字列として扱われます。たとえば、次の文は DepartmentHeadID カラムに NULL を明示的に挿入します。
INSERT INTO Departments VALUES ( 703, 'Western Sales', NULL ); |
カラムが値を受け取らなくても、ローを挿入したら常にデフォルト値が自動的に挿入されるように、カラムを定義できます。これを設定するには、カラムにデフォルト値を設定します。カラム・デフォルトの使い方を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |