EACH в PL/SQL. Введение
Ключевое слово EACH в PL/SQL не является самостоятельным оператором в Oracle SQL, однако оно может встречаться в:
документации, особенно при описании работы с наборами данных
описаниях циклов в PL/SQL
и, чаще всего, в переводах с других СУБД, например PostgreSQL или MySQL
Из-за этого новички могут подумать, что EACH — это зарезервированное слово. Однако в чистом Oracle SQL оно не используется в синтаксисе операторов.
🔤 Написание
Нет официального синтаксиса в Oracle SQL, где EACH используется как часть кода.
Но в документации и PL/SQL логике можно встретить такие формулировки:
Это не ключевое слово SQL, а просто способ выразить идею итерации.
🔄 Где может встречаться
В учебных материалах, особенно переведённых
В статьях о миграции с PostgreSQL или MySQL
В PL/SQL комментариях и псевдокоде
В REST/JSON API описаниях, связанных с SQL-процессингом
🧪 10 Контекстов, где встречается EACH
1️⃣ Цикл FOR в PL/SQL (без EACH)
2️⃣ Описание логики: «для каждой строки»
Это просто комментарий, не SQL-код.
3️⃣ MySQL синтаксис (НЕ Oracle)
4️⃣ PostgreSQL выражения
5️⃣ REST API примеры обработки данных
6️⃣ PL/SQL блок обработки записей
7️⃣ Миграция с PostgreSQL: FOREACH в Oracle
Заменяется на обычный FOR или WHILE.
8️⃣ Итерация по коллекциям в PL/SQL
9️⃣ Выражения в хранимых процедурах
Опять же — не синтаксис, а описание.
🔟 При работе с JSON или XML в Oracle
Фактически эквивалент «для каждого элемента массива JSON».
🧩 Заключение
EACH — это не оператор Oracle SQL, но его часто встречают в описаниях, особенно при миграции с других СУБД или в переводных статьях. Оно вводит в заблуждение, особенно новичков.
💡 Запомни:
EACHне поддерживается синтаксически в OracleВместо этого используй обычные циклы
FOR,LOOPв PL/SQLЕсли видишь
EACHв коде — скорее всего, это или комментарий, или не Oracle SQL