.Q.a переменная предоставляет список маленьких символов, а .Q.A - список заглавных символов. Вы можете использовать их для итерации. Есть несколько способов сделать это:
Простая итерация по символам и вызов каждого из них. Менее эффективно, поскольку это делает много вызовов RPC.
q) fetchAll: raze{h (`fetch; `t;x}) each .Q.A,'"*"
Более эффективный, поскольку он делает только 1 вызов RPC. Использование функции «лайк» для альтернативного выбора в шаблоне. Например, приведенная ниже команда выберет символы, начинающиеся с A или B.
Пример: выберите из таблицы символ, например, "[A | B] *"
Ниже команда рассмотрит все символы.
q) h(`fetch; `t;"[",("|" sv enlist each .Q.A),"]*")
Также, если ваши таблицы и функции находятся на одном сервере, вам не нужны разные вызовы rpc, чтобы сначала получить данные символов, а затем обновить таблицу newNorm. Вы можете сделать это за один звонок. Один из способов - определить функцию на сервере и вызвать ее.
Функция на сервере:
q) fetchAndUpdNorm:{[x]`newNormData upsert fetch[t] x}
На клиенте:
q) h(`fetchAndUpdNorm;"[",("|" sv enlist each .Q.A),"]*")
Обновление на основе комментария Джонатона:
Альтернативная команда для второго примера:
q) h(`fetch; `t;"[A-Z]*")
Для последнего случая:
q) h(`fetchAndUpdNorm;"[A-Z]*")