行変更タイム・スタンプ列の作成

行変更タイム・スタンプ列のある表内で行を追加したり変更したりするたびに、行変更タイム・スタンプ列の値は、挿入操作や更新操作の時点に対応するタイム・スタンプに設定されます。

行変更タイム・スタンプ列のデータ・タイプは TIMESTAMP でなければなりません。表に定義できる行変更タイム・スタンプ列は 1 つだけです。

表を作成するときは、表の中の 1 つの列を行変更タイム・スタンプ列として定義することができます。例えば、ORDERNO、SHIPPED_TO、ORDER_DATE、STATUS、および CHANGE_TS という名前の列を持つ表 ORDERS を作成します。CHANGE_TS を行変更タイム・スタンプ列として定義します。

CREATE TABLE ORDERS
   (ORDERNO SMALLINT,
    SHIPPED_TO VARCHAR(36),
    ORDER_DATE DATE,
    STATUS CHAR(1),
    CHANGE_TS TIMESTAMP FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP NOT NULL)

ORDERS 表に行を挿入する際に、その行に関する CHANGE_TS 列は挿入操作のタイム・スタンプに設定されます。ORDERS 内の行が更新されるたびに、その行に関する CHANGE_TS 列は、更新操作のタイム・スタンプを反映するように変更されます。

列から行変更タイム・スタンプ属性を除去できます。

ALTER TABLE ORDER         
  ALTER COLUMN CHANGE_TS        
  DROP ROW CHANGE TIMESTAMP

表内で列 CHANGE_TS は TIMESTAMP 列として残りますが、システムはこの列のタイム・スタンプ値を自動的に更新しなくなります。