在oracle表中自动填充日期

时间:2010-01-09 10:36:10

标签: oracle time timestamp

我在oracle XE中创建了一个表,我有一个类型为date的字段。如果可能的话,我想插入一行,它会自动用系统中的当前日期填充该字段。

我从SQL提示符插入行。

由于

4 个答案:

答案 0 :(得分:27)

以下是您需要正确格式化表格的方法:

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

您的默认值始终是格式化为时间戳的当前系统时间。

答案 1 :(得分:4)

创建表格后更改字段

ALTER TABLE table MODIFY time_collumn TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

答案 2 :(得分:1)

或者您也可以使用触发器:

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;

答案 3 :(得分:0)

如果我们在创建表时忘记添加约束,则以下代码片段可能会有所帮助:

Map<Character, String> mapping = new HashMap<>();
mapping.put('a', "one");
mapping.put('e', "two");
mapping.put('i', "three");
mapping.put('o', "four");
mapping.put('u', "five");

String res = "Hello How are u!".chars()
        .mapToObj(ch -> mapping.getOrDefault((char) ch, 
                                  Character.toString((char) ch)))
        .collect(Collectors.joining());

System.out.println(res);