【发布时间】:2018-07-18 12:25:21
【问题描述】:
如何向自动填充类型并填充当前日期的表添加一列(或者如果无法添加,如何使用 DDL 创建包含此类列的表)?所以基本上当我从 .csv 文件加载数据时,我希望新列记录我运行上传时的日期。我正在使用 DB2。
【问题讨论】:
-
所以你想为你的表上的每个插入/上传,插入/上传的相关日期?
如何向自动填充类型并填充当前日期的表添加一列(或者如果无法添加,如何使用 DDL 创建包含此类列的表)?所以基本上当我从 .csv 文件加载数据时,我希望新列记录我运行上传时的日期。我正在使用 DB2。
【问题讨论】:
以下语法在当前版本的 Db2 for Linux/Windows/Unix 上有效,也可能在其他平台上有效:
alter table .... add column ... DATE with default curent date;
或
alter table ... add column ... TIMESTAMP with default current timestamp;
您也可以使用触发器来填充新列,仅适用于普通插入/更新(以及导入和摄取),但不适用于 LOAD。
使用 load 或 import/ingest 时,从目标列列表中省略此列,然后它将默认为插入时的给定值。
【讨论】:
alter table ... add column ... TIMESTAMP NOT NULL GENERATED ALWAYS FOR EACH ROW ON UPDATE AS ROW CHANGE TIMESTAMP