Это связано с вашими первичными ключами, таблица подробностей, кажется, не имеет правильных ключей, поэтому она всегда пыталась обновить первую запись, и я думаю, именно поэтому каждая строка помечается при загрузке таблицы .
Первичные ключи также раздражают, когда отказываются быть пустыми, как вы можете видеть, если вы вставляете новую строку, средний столбец (который представляет собой PK) заполняется 't1001'.
Поскольку вы имеете дело с простыми таблицами (а не с целой кучей соединенных таблиц), я всегда считаю, что лучше использовать ROWID в качестве PK. Поэтому установите ROWID как PK для основной таблицы и ROWID для таблицы подробностей. И пусть таблица подробностей будет иметь главную таблицу в качестве главной таблицы, а затем щелкните первый столбец таблицы подробностей и установите для него главный столбец. И я также лично всегда скрываю связанный столбец.
Я бы посоветовал вам использовать ROWID всякий раз, когда это возможно, поскольку с ним намного проще работать, это означает, что вам может потребоваться настроить проверку, чтобы предотвратить добавление дублирующихся значений для вашего фактического PK, но так как PK находится в лежащей в основе таблицы, они не могут войти в нее в любом случае (но если у вас есть проверка, ошибка будет намного красивее), в то время как, если столбец - PK, APEX по умолчанию предотвратит дублирование.
Надеюсь, это поможет