Forudsat at
- Din kolonne hedder faktisk ikke
date
da det er et reserveret ord - Din kolonne er faktisk defineret som en
date
snarere end som etnumber
- Du vil udfylde kolonnen, når du indsætter en ny række
du kan definere en standardværdi for kolonnen.
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
Hvis du ønsker at ændre dt
kolonne, når du UPDATE
rækken, skal du bruge en trigger
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
En trigger vil tilsidesætte enhver værdi, der sendes ind som en del af INSERT
eller UPDATE
sætning for dt
kolonne. En standardværdi vil ikke.