Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » データの追加、変更、削除 » INSERT によるデータの追加

 

指定カラムへの値の挿入

カラムとその値を指定するだけで、ローにあるカラムにデータを追加できます。そのカラム・リストにない他のすべてのカラムは、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 を明示的に挿入できます。NULL を引用符で囲まないでください。囲むと文字列として扱われます。たとえば、次の文は DepartmentHeadID カラムに NULL を明示的に挿入します。

INSERT INTO Departments
VALUES ( 703, 'Western Sales', NULL );
デフォルトを使用した値の指定

カラムが値を受け取らなくても、ローを挿入したら常にデフォルト値が自動的に挿入されるように、カラムを定義できます。これを設定するには、カラムにデフォルト値を設定します。カラム・デフォルトの使い方を参照してください。