En supposant que
- Votre colonne ne s'appelle pas réellement
date
puisque c'est un mot réservé - Votre colonne est en fait définie comme une
date
plutôt que comme unnumber
- Vous souhaitez remplir la colonne lorsque vous insérez une nouvelle ligne
vous pouvez définir une valeur par défaut pour la colonne.
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 vous souhaitez modifier le dt
colonne lorsque vous UPDATE
la ligne, vous auriez besoin d'un déclencheur
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
Un déclencheur remplacera toute valeur transmise dans le cadre de INSERT
ou UPDATE
déclaration pour le dt
colonne. Une valeur par défaut ne le sera pas.