Эти два предложения имеют совершенно разные цели и поведение.
FOR FETCH ONLY
, альтернативно FOR READ ONLY
сообщает оптимизатору запросов, что вы не собираетесь обновлять или удалять какие-либо извлеченные строки, чтобы он мог более эффективно извлекать строки (блокировать) и уменьшать количество ресурсов, необходимых для поддержания состояния курсора.
FETCH FIRST x ROWS ONLY
предназначен для того, чтобы сообщить оптимизатору, что вы не заинтересованы в чтении всего набора результатов, каким бы большим он ни был. Это может привести к тому, что оптимизатор выберет план доступа, в результате чего первые строки будут возвращены клиенту быстрее.
Вы должны использовать пункты (одну или другую, или обе), когда они соответствуют вашей цели. Пожалуйста, прочитайте связанные страницы документации для более подробной информации.