如果任何列在 oracle 表单中具有 NULL 值,那么如何插入下一行

If any column has NULL value in oracle forms then how the next row to be inserted

如果任何列在 oracle 表单中具有 NULL 值,那么如何插入下一行。

empID   city
1001    NYC
1002    DC
1003    CA
1004    NULL
1005    LA
1006    PL

在第 4 列中,Oracle 中有 NULL 值 forms.If 我们插入下一个值,然后它恢复到第 4 行意味着 LA 转移到第 4 行 & PL 移动到第 5 row.How 我们可以做到插入的行在 Oracle 表单中向上移动吗?

您可以使用 lag( . . . ignore nulls):

select empID,
       coalesce(city, lag(city ignore nulls) over (order by empID)) as city
from t;

如果你真的想要更新,你可以使用相关子查询:

update t
    set city = (select max(t2.city) keep (dense_rank first order by t2.empID desc)
                from t t2
                where t2.empID < t.empId
               )
    where city is null;