Suponiendo que
- Su columna en realidad no se llama
date
ya que esa es una palabra reservada - Su columna en realidad está definida como una
date
en lugar de como unnumber
- Desea completar la columna cuando inserta una nueva fila
puede definir un valor predeterminado para la columna.
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
Si desea modificar el dt
columna cuando UPDATE
la fila, necesitarías un gatillo
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
Un disparador anulará cualquier valor pasado como parte de INSERT
o UPDATE
declaración para el dt
columna. Un valor predeterminado no lo hará.