Ако приемем, че
- Вашата колона всъщност не е с име
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
колона. Стойност по подразбиране няма.