У меня есть страница APEX, которая обновляет таблицу (SAMPLE_TAB). В этой таблице есть несколько столбцов (ID, BADGEID, USERID, NAME, CITY, ZIP, EFTDT, TERMDT, STATUS) ID - это отдельный номер для записей.
BADGEID и USERID связаны, и если одна из записей будет изменена, она должна автоматически создать новую запись, а срок действия старой записи истечет.
Если есть изменение в NAME, CITY или ZIP, то следует обновить запись.
Например: см. Таблицу ниже
ID BADGEID ИМЯ ПОЛЬЗОВАТЕЛЯ ГОРОД ZIP EFFDT TERMDT STATUS
1 2345 54623 XYZ NY 00000 31.08.2020 31.12.2199 Активно
2 5678 90876 DEF NJ 00001 31.08.2020 31.12.2199 Активно
Если BADGEID 2345 изменен на 2354 для того же USERID (54623) 1 СЕНТЯБРЯ 2020 г., то должна быть новая запись, как показано ниже
3 2354 54623 XYZ NY 00000 01.09.2020 31.12.2199 АКТИВНЫЙ
И обновите старую запись ниже
1 2345 54623 XYZ NY 00000 31.08.2020 09.01.2020 НЕАКТИВНО
Я пробовал под кодом PL / SQL при обработке обновлений, но получаю ошибку
DECLARE ID_PARM = (ВЫБЕРИТЕ ЗНАЧОК ИЗ SAMPLE_TAB, ГДЕ ID =: P1_ID)
НАЧАТЬ ЕСЛИ (: P1_BADGEID = ID_PARM) ТОГДА ОБНОВИТЬ ....... ИНАЧЕ ВСТАВИТЬ и ОБНОВИТЬ