【发布时间】:2019-09-25 14:25:30
【问题描述】:
我正在使用 oracle apex 主详细信息表单。我有一个名为 detail 的表,在该表上创建了此表单。我想在状态中输入值后立即通过 sysdate 更新 time_stamp 的值。 请指导我我该怎么做? 我的桌子是:
DID number(10,0),
status char(1),
time_stamp timestamp);```
【问题讨论】:
标签: oracle-apex
我正在使用 oracle apex 主详细信息表单。我有一个名为 detail 的表,在该表上创建了此表单。我想在状态中输入值后立即通过 sysdate 更新 time_stamp 的值。 请指导我我该怎么做? 我的桌子是:
DID number(10,0),
status char(1),
time_stamp timestamp);```
【问题讨论】:
标签: oracle-apex
前段时间我也遇到了同样的问题。据我了解,有两种方法。
1) 不要在表格上创建表单,而是为 apex 中的每个表单字段创建单独的字段,并让用户在那里输入数据。然后创建一个过程来更新提交时的数据。
2) 您可以在明细表上创建触发器,如下所述
create or replace trigger detail_update_trig
before update or insert
on detail
FOR EACH ROW
declare
begin
:new.timestamp:=sysdate;
end;
/
虽然可能有更好的方法来解决这个问题,但这对我来说是有效的。
希望这能解决你的问题。
【讨论】:
time_stamp 列的默认值设置为sysdate,并将字段类型设置为文本字段并且始终为只读。因此,当您插入时,会显示最新日期。