Dengan asumsi bahwa
- Kolom Anda sebenarnya tidak bernama
date
karena itu adalah kata yang dicadangkan - Kolom Anda sebenarnya didefinisikan sebagai
date
bukan sebagainumber
- Anda ingin mengisi kolom saat menyisipkan baris baru
Anda dapat menentukan nilai default untuk kolom.
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
Jika Anda ingin mengubah dt
kolom ketika Anda UPDATE
baris, Anda akan membutuhkan pemicu
CREATE OR REPLACE TRIGGER trg_products
BEFORE INSERT OR UPDATE ON products
FOR EACH ROW
BEGIN
:new.dt := sysdate;
END;
Pemicu akan menimpa nilai apa pun yang diteruskan sebagai bagian dari INSERT
atau UPDATE
pernyataan untuk dt
kolom. Nilai default tidak akan.