長すぎる:ORA-01489:Oracleの - ORA-01489:文字列連結の結果は、私はこのクエリ上で動作し、このエラーを取得する
Oracle - ORA-01489: result of string concatenation is too long
いくつかのいずれかがこの問題に
SELECT LISTAGG(RCRDNUM) WITHIN GROUP (ORDER BY RCRDNUM)
FROM (SELECT (ERR.RCRDNUM || ',') AS RCRDNUM
FROM TABLENAME ERR
INNER JOIN (SELECT UPPER(REGEXP_SUBSTR('No value present for CNTRY_CD column for the record',
'[^,]+', 1, LEVEL)) ERR_MSG
FROM DUAL
CONNECT BY REGEXP_SUBSTR('No value present for CNTRY_CD column for the record',
'[^,]+', 1, LEVEL)
IS NOT NULL) ERRMSG_P
ON (UPPER(ERR.ERRMSG) = ERRMSG_P.ERR_MSG
OR 'No value present for CNTRY_CD column for the record' IS NULL))
を解決するために助けてください
はあなた 'listagg'潜在的に4000文字以上の結果か?もしそうなら、 'listagg'を使うことはできません(または、返される行の数を減らすインラインビューにフィルタを用意する必要があります)。より長い文字列を生成する必要がある場合は、 'clob'データ型を扱う独自の集約関数を書くことができます(オンラインの実装がいくつかあります)。 –
@JustinCave - ...または 'xmlagg()'を使う – mathguy