Автоматически заполнять дату в оракуле - PullRequest
19 голосов
/ 09 января 2010

Я создал таблицу в Oracle XE, и у меня есть поле с типом даты. Я хотел бы, если возможно, когда я вставляю строку, чтобы она автоматически заполняла это поле текущей датой из системы.

Я вставляю строки из подсказки SQL.

Спасибо

Ответы [ 4 ]

27 голосов
/ 09 января 2010

Вот как вам нужно правильно отформатировать таблицу:

create table test (first number
                   , second timestamp default systimestamp
                   , third varchar2(12));

И вашим значением по умолчанию всегда является текущее системное время, отформатированное как отметка времени.

4 голосов
/ 16 января 2013

изменить поле после создания таблицы

ALTER TABLE table MODIFY time_collumn TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
1 голос
/ 05 марта 2014

Или вы также можете использовать триггер:

CREATE OR REPLACE TRIGGER date_trigger

BEFORE INSERT

ON table_name

REFERENCING NEW AS NEW

FOR EACH ROW

BEGIN

SELECT sysdate INTO :NEW.column_name FROM dual;

END;
0 голосов
/ 20 ноября 2018

Приведенный ниже фрагмент кода может быть полезен, если мы забудем добавить ограничение при создании таблицы:

ALTER TABLE TABLE_NAME 
ADD CONSTRAINT CONSTRAINT_NAME
COLUMN_NAME DATA_TYPE DEFAULT CURRENT_DATE;
...