と仮定して
- 列の名前は実際には
date
ではありません それは予約語なので - 列は実際には
date
として定義されていますnumber
としてではなく - 新しい行を挿入するときに列にデータを入力する
列のデフォルト値を定義できます。
SQL> ed
Wrote file afiedt.buf
1 create table products (
2 id number not null,
3 dt date default sysdate not null
4* )
SQL> /
Table created.
SQL>
SQL> insert into products( id ) values( 1 );
1 row created.
SQL> select * from products;
ID DT
---------- ---------
1 20-NOV-12
dt
を変更する場合 UPDATE
したときの列 行には、トリガーが必要です
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
トリガーは、INSERT
の一部として渡された値をオーバーライドします またはUPDATE
dt
のステートメント 桁。デフォルト値はそうではありません。