web-dev-qa-db-ja.com

Oracleテーブルに日付を自動的に入力します

Oracle XEでテーブルを作成しましたが、日付型のフィールドがあります。可能であれば、行を挿入するときに、そのフィールドにシステムからの現在の日付が自動的に入力されるようにしたいと思います。

SQLプロンプトから行を挿入しています。

ありがとう

20
Adnan

テーブルを適切にフォーマットする必要がある方法は次のとおりです。

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

また、デフォルト値は常にタイムスタンプとしてフォーマットされた現在のシステム時刻です。

30
ant

テーブルの作成後にフィールドを変更する

ALTER TABLE table MODIFY time_collumn TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

または、トリガーを使用することもできます。

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;
1
Vivek R

以下のスニペットは、テーブルの作成中に制約を追加するのを忘れた場合に役立つ可能性があります。

ALTER TABLE TABLE_NAME 
ADD CONSTRAINT CONSTRAINT_NAME
COLUMN_NAME DATA_TYPE DEFAULT CURRENT_DATE;
0
Sagnik