ホームページ > データベース > mysql チュートリアル > Oracle SQL で LISTAGG を使用する場合の ORA-01489 エラーを解決する方法

Oracle SQL で LISTAGG を使用する場合の ORA-01489 エラーを解決する方法

Susan Sarandon
リリース: 2025-01-18 16:51:13
オリジナル
535 人が閲覧しました

How to Overcome ORA-01489 Error When Using LISTAGG in Oracle SQL?

Oracle SQL LISTAGG 関数と ORA-01489 エラー

LISTAGG 関数は、Oracle SQL Developer 内で文字列を連結するのに便利ですが、「ORA-01489: 文字列連結の結果が長すぎます」エラーを生成する可能性があります。この制限は、LISTAGG の出力が最大 4000 文字に制限されていることに起因します。

XMLAGG を使用したソリューション

この 4000 文字の制限を克服するには、より柔軟な代替手段として XMLAGG 関数を使用します。

<code class="language-sql">SELECT RTRIM(XMLAGG(XMLELEMENT(E, colname, ',').EXTRACT('//text()') ORDER BY colname).GetClobVal(), ',') AS LIST
FROM tablename;</code>
ログイン後にコピー

XMLAGG は CLOB データ型を返し、非常に長い文字列長を処理できるため、ORA-01489 エラーが排除されます。 このアプローチは、LISTAGG.

によって課される制約なしで、広範なデータセットを効果的に集約します。

以上がOracle SQL で LISTAGG を使用する場合の ORA-01489 エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート