I want create a table 'product' and have a column
create table products (
id number not null,
date number not null
datesince that is a reserved word
daterather than as a
you can define a default value for the column.
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
If you want to modify the
dt column when you
UPDATE the row, you would need a trigger
CREATE OR REPLACE TRIGGER trg_products BEFORE INSERT OR UPDATE ON products FOR EACH ROW BEGIN :new.dt := sysdate; END;
A trigger will override any value passed in as part of the
UPDATE statement for the
dt column. A default value will not.