SQL:在特定天数后更新列

时间:2018-08-20 11:26:36

标签: sql oracle

我有一张表格,列出了错误以及有关指派给谁以及解决它的人的信息。

Bugs | Assigned to | Resolved by
--------------------------------
  1       Dev1 
  2       Dev2
  3       Dev3

如果在特定的天数(例如14天)之后,如果“解决依据”字段仍为空白,我希望使用“分配给”列中的值对其进行更新。

我试图创建带有时间戳的视图,但是我不确定如何指定确切的天数,然后从另一列更新值。

1 个答案:

答案 0 :(得分:1)

您可以在视图中执行以下操作:

create view v_bugs as
    select bugs, assigned_to,
           coalesce(resolved_by,
                    (case when createdAt <= sysdate - interval '14' day then assigned_to end)
                   ) as assigned_to
    from bugs;

当然,这假设您有一列指定何时插入每一行。

不幸的是,Oracle不允许在虚拟列中使用sysdate,因此您不能使用generated always as来定义列。