Пустая таблица в FOR ALL ENTRIES IN

Не все знают и не все помнят, что случается когда таблица указанная в FOR ALL ENTRIES IN окажется пустой. А этот момент очень важно учитывать, как в целях корректной выборки данных, так и в целях оптимизации. Собственно, вся информация есть в справке, но кто ее читает))


Проведем эксперимент, сделаем выборку из таблицы по ключу

В выборке окажутся только записи с rsnum = ‘14661’ (в нашем случае это 1 запись)



Теперь добавим FOR ALL ENTRIES IN  причем таблица lt_rspos   будет пустая.

На выходе мы увидим 10 записей, т.к.  если  таблица указанная в FOR ALL ENTRIES IN пустая условие WHERE игнорируется полностью, и мы получим все, что лежит в рамках манданта.

 

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *