После обновления до Postgres 12 оператора
update temprid set
ContactFirstName =unnest(xpath(
'/E-Document/Document/DocumentParties/BuyerParty/ContactData/ContactFirstName/text()',x))::text,
yhik =unnest(xpath(
'/E-Document/Document/DocumentItem/ItemEntry/BaseUnit/text()',x))::text
from t
выдает ошибку
функции возврата в набор недопустимы в UPDATE
How чтобы исправить это ? В Postgres 9.1 это сработало. Я читаю подобные ответы здесь, но они рекомендуют полностью переписать утверждение. Может быть, есть просто изменение, которое заставляет этот оператор работать?
Результат должен быть при любом значении выражения xpath в случае, если xpath возвращает несколько значений
Обновление
Я пытался в соответствии с ответом
update temprid set
ContactFirstName =xpath(
'/E-Document/Document/DocumentParties/BuyerParty/ContactData/ContactFirstName/text()',x)[1]::text
Но получил ошибку
ERROR: syntax error at or near "["
LINE 3: .../BuyerParty/ContactData/ContactFirstName/text()',x)[1]::text