Добавление нового поля в таблицу с записями.

В результате тестирования разработки оказалось, что при выборке из Z* таблицы выбираются не все значения.
В таблице у нас находятся 15 записей. В se11 мы видим, что у пяти записей в поле del_flag = 'X', у десяти del_flag пустой.

Далее выполняем три запроса к таблице:

В результате имеем: все 15 записей в таблице lt_table_1, 5 записей с del_flag = 'X' в таблице lt_table_2 и ТОЛЬКО 5 записей в таблице lt_table_3 с del_flag 'X'. Куда же делись еще 5 записей, которые должны были выбраться в таблицу ls_table_3 ?

Оказалось, что поле del_flag добавили в таблицу z_table, когда эти не выбравшиеся 5 записей уже лежали в таблице, и для поля del_flag этих записей установилось значение NULL . А SELECT в свою очередь, не учитывает поля NULL в условии.
Чтобы подобной ситуации не возникало или для исправления существующих необходимо было добавлять поле del_flag с галкой "Нач. значения". А после адаптировать таблицу в SE14 с сохранением данных. И поле del_flag ( в моем случае ) будет работать корректно, старые записи примут начальное значение вместо NULL.

SELECT  отработает верно.

DEL_FLAG

Добавить комментарий

Ваш адрес email не будет опубликован.