Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle adiciona automaticamente a data atual


Assumindo que
  1. Sua coluna não tem o nome date já que é uma palavra reservada
  2. Sua coluna está realmente definida como uma date em vez de um number
  3. Você deseja preencher a coluna ao inserir uma nova linha

você pode definir um valor padrão para a coluna.
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

Se você deseja modificar o dt coluna quando você UPDATE a linha, você precisaria de um gatilho
CREATE OR REPLACE TRIGGER trg_products
  BEFORE INSERT OR UPDATE ON products
  FOR EACH ROW
BEGIN
  :new.dt := sysdate;
END;

Um acionador substituirá qualquer valor passado como parte do INSERT ou UPDATE instrução para o dt coluna. Um valor padrão não.