Преобразование Oracle в Postgres - PullRequest
0 голосов
/ 20 октября 2018

Может кто-нибудь сообщить мне, как преобразовать приведенный ниже код Oracle из Oracle в базу данных Postgres,

select RTRIM(
          XMLAGG(
             XMLELEMENT(E,
                        (SEC_PROMOTION_ID ||'+'|| SEC_OFFER_ID),
                        '|'
                       ).EXTRACT('//text()')
             ORDER BY (SEC_PROMOTION_ID ||'+'|| SEC_OFFER_ID)
          ).GETCLOBVAL(),
          '|'
       ) SEC_PROMO_OFFERS
from SSP2_PCAT.IE_FOR_SSP_STAGING;

1 Ответ

0 голосов
/ 20 октября 2018

Это похоже на обходной путь для преодоления противодействующего ограничения Oracle в 4000 байт для результата listagg().

Это намного проще в Postgres

select string_agg(sec_promotion_id||'+'||sec_offer_id, '|' order by sec_promotion_id, sec_offer_id) as sec_promo_offers
from IE_FOR_SSP_STAGING
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...