Vorausgesetzt,
- Ihre Spalte heißt eigentlich nicht
date
da das ein reserviertes Wort ist - Ihre Spalte ist tatsächlich als
date
definiert statt alsnumber
- Sie möchten die Spalte füllen, wenn Sie eine neue Zeile einfügen
Sie können einen Standardwert für die Spalte definieren.
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
Wenn Sie die dt
ändern möchten Spalte beim UPDATE
Zeile, benötigen Sie einen Trigger
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
Ein Trigger überschreibt jeden Wert, der als Teil von INSERT
übergeben wird oder UPDATE
Anweisung für dt
Säule. Ein Standardwert wird nicht.