1

これによると:

VARCHAR(n) 最大長が n バイトの可変長文字ストリング。n は 0 より大きく、表スペースのページ・サイズに依存する数値より小さくなければなりません。最大長は 32704 です。

この定義を正しく理解していれば、データベースの構成に応じて、最大長は 32704 未満になる可能性があります。

SQL コマンドを使用して、特定のDB2 データベースの VARCHAR タイプの現在の最大長を計算する方法を教えてください。

注意: ソリューションには、ページ サイズの自動決定が含まれている必要があります。この値を推奨コードのパラメーターにすることはできません。

前もって感謝します!

4

1 に答える 1

3

表領域のページ サイズは、次の情報から判断できますsysibm.systablespace

select pgsize from sysibm.systablespace where name='FOO'

create table のドキュメントには、最大サイズとページ ファイル サイズとの関係に関する情報が記載されてvarcharいます (最大レコード サイズを検索してください)。これはかなり複雑で、テストするための z/OS 上の DB2 を持っていないため、決定的な回答はしたくありません。ただし、その情報と試行錯誤の組み合わせから、各ページ サイズの最大長を判断できるはずです。

注:この回答は、z/OS 上の DB2 に対するものです (上記のドキュメントの引用元が DB2 であると想定されます)。LUW では少し異なりますが、同等のドキュメント ページにアクセスすると見つけることができます。

于 2012-12-17T14:00:04.740 に答える