【发布时间】:2020-08-31 17:18:29
【问题描述】:
我有一个更新表(SAMPLE_TAB)的 APEX 页面。此表有多个列(ID、BADGEID、USERID、NAME、CITY、ZIP、EFTDT、TERMDT、STATUS)ID 是记录的唯一编号。
BADGEID 和 USERID 是相关的,如果其中一条记录发生更改,它应该自动创建新记录并过期旧记录。
如果 NAME、CITY 或 ZIP 发生变化,则应该更新记录。
例如:见下表
ID BADGEID USERID NAME CITY ZIP EFFDT TERMDT STATUS
1 2345 54623 XYZ NY 00000 8/31/2020 12/31/2199 活动
2 5678 90876 DEF NJ 00001 8/31/2020 12/31/2199 活跃
如果 BADGEID 2345 在 2020 年 9 月 1 日更改为相同 USERID(54623) 的 2354 那么应该有一个 新纪录如下
3 2354 54623 XYZ NY 00000 09/01/2020 12/31/2199 活动中
并将旧记录更新到下面
1 2345 54623 XYZ NY 00000 8/31/2020 09/01/2020 不活动
我在更新处理中尝试了下面的 PL/SQL 代码,但出现错误
声明 ID_PARM =(从 SAMPLE_TAB 中选择 BADGEID,其中 ID = :P1_ID)
开始 如果 (:P1_BADGEID = ID_PARM) 那么 更新 ....... 别的 插入和更新
【问题讨论】:
标签: oracle-apex oracle-apex-19.2