現在の UTC 時刻、日付、またはタイムスタンプを CURRENT_TIME() または関連する関数を使って挿入するには、次のような SQL ステートメントを構成する必要があります。
テーブル内の列がすべて、ヌル値を許可するかデフォルト値が定義されているかのいずれかである場合は、values 句に DEFAULT VALUES を指定することで、すべてのデフォルト値を含むレコードを挿入できます。一部の列がヌル値を許可していないかデフォルト値が定義されていない場合、または列リストを指定しない場合には、DEFAULT VALUES 句は使用できません。
最初の行は、IDENTITY 列に対して values 句で 0 を指定すると、テーブルが空の場合に挿入される値は 1 であることを示します。
またこの行は、デフォルト値を持つ列に対して values 句で値を指定しないと、指定されているデフォルト値が挿入されることも示します。
2 行目は、IDENTITY 列に対して values 句で 0 を指定すると、挿入される値は、IDENTITY 列中で最も大きな値より 1 大きい値になることを示します。
この行はまた、デフォルト値を持つ列に対して values 句で値を指定すると、指定した値によりデフォルト値が上書きされることを示します。
3 行目は、IDENTITY 列に対して values 句で 0 以外の値を指定すると、指定した値が挿入されることを示します。IDENTITY 列に対して指定された値を含む行が既に存在する場合は、"レコードのキー フィールドに重複するキー値があります(Btrieve エラー 5)" というメッセージが返され、INSERT は失敗します。
4 行目では再び、IDENTITY 列に対して values 句で 0 を指定すると、IDENTITY 列中で最も大きな値より 1 大きい値が挿入されることが示されています。これは、値の間に「ギャップ」がある場合でも当てはまります(つまり、IDENTITY 列が最も大きな値よりも小さい値の行が 1 行以上欠落するということです)。
5 行目は、IDENTITY 列に対して values 句で値を指定しないと、挿入される値は、IDENTITY 列中で最も大きな値より 1 大きい値になることを示します。