SQL 解説書


付録 A. SQL の制限値

以下の表は、特定の SQL 制限値を示しています。 最も制限が厳しい場合に準拠することによって、 プログラマーは容易に移植できるアプリケーション・プログラムを設計することができます。

表 29. 識別子の長さの制限値
説明 制限値 (バイト単位)
1 許可名の最大長 (1 バイト文字のみ可) 30
2 制約名の最大長 18
3 相関名の最大長 128
4 条件名の最大長 64
5 カーソル名の最大長 18
6 データ・ソースの列名の最大長 128
7 データ・ソースの索引名の最大長 128
8 データ・ソース名の最大長 128
9 データ・ソースの表名 (リモート表名) の最大長 128
10 外部プログラム名の最大長 8
11 ホスト識別名の最大長 a 255
12 データ・ソースのユーザー (リモート許可名) の識別子の最大長 30
13 ラベル名の最大長 64
14 メソッド名の最大長 18
15 パラメーター名の最大長 b 128
16 データ・ソースにアクセスするパスワードの最大長 32
17 保管点名の最大長 128
18 スキーマ名の最大長 c 30
19 サーバー名 (データベース別名) の最大長 8
20 SQL 変数名の最大長 64
21 ステートメント名の最大長 18
22 変形グループ名の最大長 18
23 非修飾の列名の最大長 30
24 非修飾のパッケージ名の最大長 8
25 非修飾のユーザー定義タイプ、ユーザー定義関数、 バッファー・プール、表スペース、ノード・グループ、 トリガー、索引、または索引指定の名前の最大長 18
26 非修飾表名、視点名、ストアード・プロシージャー、ニックネーム、または別名の最大長 128
27 ラッパー名の最大長 128
注:

a
ホスト言語コンパイラーによっては、 変数名に関してより厳しい制限がある場合があります。

b
SQL プロシージャー内のパラメーター名の場合、最大長は 64 バイトです。

c
ユーザー定義構造タイプのスキーマ名の場合、最大長は 8 バイトです。

表 30. 数値の制限値
説明 制限値
1 INTEGER (整数) の最小値 -2 147 483 648
2 INTEGER (整数) の最大値 +2 147 483 647
3 BIGINT (大整数) の最小値 -9 223 372 036 854 775 808
4 BIGINT (大整数) の最大値 +9 223 372 036 854 775 807
5 SMALLINT (小整数) の最小値 -32 768
6 SMALLINT (小整数) の最大値 +32 767
7 10 進数の精度の最大値 31
8 DOUBLE (倍精度) の最小値 -1.79769E+308
9 DOUBLE (倍精度) の最大値 +1.79769E+308
10 DOUBLE (倍精度) の正の最小値 +2.225E-307
11 DOUBLE (倍精度) の負の最大値 -2.225E-307
12 REAL (実数) の最小値 -3.402E+38
13 REAL (実数) の最大値 +3.402E+38
14 REAL (実数) の正の最大値 +1.175E-37
15 REAL (実数) の負の最大値 -1.175E-37

表 31. ストリングの制限値
説明 制限値
1 CHAR の最大長 (バイト単位) 254
2 VARCHAR の最大長 (バイト単位) 32 672
3 LONG VARCHAR の最大長 (バイト単位) 32 700
4 CLOB の最大長 (バイト単位) 2 147 483 647
5 GRAPHIC の最大長 (文字単位) 127
6 VARGRAPHIC の最大長 (文字単位) 16 336
7 LONG VARGRAPHIC の最大長 (文字単位) 16 350
8 DBCLOB の最大長 (文字単位) 1 073 741 823
9 BLOB の最大長 (バイト単位) 2 147 483 647
10 文字定数の最大長 32 672
11 漢字定数の最大長 16 336
12 連結後の文字ストリングの最大長 2 147 483 647
13 連結後の漢字ストリングの最大長 1 073 741 823
14 連結後の 2 進ストリングの最大長 2 147 483 647
15 16 進定数の最大桁数 16 336
16 カタログ・コメントの最大サイズ (バイト単位) 254
17 実行時の構造タイプ列オブジェクトの最大インスタンス 1 GB

表 32. 日付 / 時刻の制限値
説明 制限値
1 DATE (日付) の最小値 0001-01-01
2 DATE (日付) の最大値 9999-12-31
3 TIME (時刻) の最小値 00:00:00
4 TIME (時刻) の最大値 24:00:00
5 TIMESTAMP (タイム・スタンプ) の最小値 0001-01-01-00.00.00.000000
6 TIMESTAMP (タイム・スタンプ) の最大値 9999-12-31-24.00.00.000000

表 33. データベース・マネージャーの制限値
説明 制限値
1 表の列の最大数 g 1 012
2 視点の列の最大数 a 5 000
3 すべてのオーバーヘッドを含む行の最大長 b g 32 677
4 区分当たりの表の最大サイズ (ギガバイト単 位) c g 512
5 区分当たりの索引の最大サイズ (ギガバイト単位) 512
6 区分当たりの表の行の最大数 4 x 109
7 索引キーの最大長 (すべてのオーバーヘッドを含む) (バイト単位) 1 024
8 索引キーの列の最大数 16
9 表の索引の最大数 32 767 または記憶域のサイズによる
10 SQL ステートメントまたは視点で参照される表の最大数 記憶域
11 プリコンパイル済みプログラム中のホスト変数宣言の最大数 c 記憶域
12 SQL ステートメント中のホスト変数参照の最大数 32 767
13 挿入または更新に使用するホスト変数の最大長 (バイト単位) 2 147 483 647
14 SQL ステートメントの最大長 (バイト単位) 65 535
15 選択リストでのエレメントの最大数 g 1 012
16 WHERE または HAVING 文節の述部の最大数 記憶域
17 GROUP BY 文節中の列の最大数 g 1 012
18 GROUP BY 文節中の列の合計長の最大値 (バイト単位) g 32 677
19 ORDER BY 文節中の列の最大数 g 1 012
20 ORDER BY 文節中の列の合計長の最大値 (バイト単位) g 32 677
21 SQLDA の最大サイズ (バイト単位) 記憶域
22 準備されるステートメントの最大数 記憶域
23 プログラムで宣言できるカーソルの最大数 記憶域
24 1 度にオープンできるカーソルの最大数 記憶域
25 SMS 表スペース中の表の最大数 65 534
26 表に対する制約の最大数 記憶域
27 副照会ネストの最大レベル 記憶域
28 単一のステートメント中の副照会の最大数 記憶域
29 INSERT ステートメント中の値の最大数 g 1 012
30 単一の UPDATE ステートメント中の SET 文節の最大数 g 1 012
31 固有 (UNIQUE) 制約の列の最大数 (固有索引によってサポートされる) 16
32 固有 (UNIQUE) 制約の列の結合後の最大長 (固有索引によってサポートされる) (バイト単位) 1 024
33 外部キーで参照される列の最大数 16
34 外部キーで参照される列の結合後の最大長 (バイト単位) 1 024
35 検査制約の指定の最大長 (バイト単位) 65 535
36 区分化キーの列の最大数 e 500
37 作業単位で変更される行の最大数 記憶域
38 パッケージの最大数 記憶域
39 ステートメント中の定数の最大数 記憶域
40 サーバーの並行ユーザーの最大数 d 64 000
41 ストアード・プロシージャー中のパラメーターの最大数 32 767
42 ユーザー定義関数のパラメーターの最大数 90
43 トリガーのカスケード実行時の最大の深さ 16
44 同時に起動できるイベント・モニターの最大数 32
45 通常 DMS 表スペース中の最大サイズ (ギガバイト単位) c g 512
46 長形式 DMS 表スペースの最大サイズ (テラバイト単位) c 2
47 一時 DMS 表スペースの最大サイズ (テラバイト単位) c 2
48 インスタンス当たりの並行使用可能なデータベースの最大数 256
49 インスタンス当たりの並行ユーザーの最大数 64 000
50 インスタンス当たりの並行アプリケーションの最大数 1 000
51 トリガーのカスケードの最大の深さ 16
52 最大区分番号 999
53 DMS 表スペース中の表オブジェクトの最大 数 f 51 000
54 変数の索引キー部分の最大長 (バイト単位) 255
55 ニックネームによって参照されるデータ・ソース表または視点にある列の最大数 5 000
56 32 ビット・リリースでのバッファー・プールの最大 NPAGES 524 288
57 64 ビット・リリースでのバッファー・プールの最大 NPAGES 2 147 483 647
58 ストアード・プロシージャーの最大ネスト・レベル 16
59 データベース内の表スペースの最大数 4096
60 構造タイプ内の属性の最大数 4082
注:

a
この最大値は、 CREATE VIEW ステートメントで結合を使うことによって達成できます。 そのような視点からの選択は、 選択リスト内のエレメントの最大数の制限値によって制限されます。

b
BLOB、CLOB、LONG VARCHAR、DBCLOB、 および LONG VARGRAPHIC の列の実際のデータは、このカウントには含まれません。 しかし、そのデータの格納場所についての情報のために、 行内に一定のスペースが確保されます。

c
示されている数値は、 アーキテクチャー上の制限値であり、近似値です。 実際の制限値はもっと小さい場合があります。

d
実際の値は、MAXAGENTS 構成パラメーターの値になります。 MAXAGENTS については、管理の手引き を参照してください。

e
これは、アーキテクチャー上の制限値です。 実際上の制限値としては、 索引キーの列の最大数に関する制限値を使用する必要があります。

f
表オブジェクトには、データ、 索引、LONG VARCHAR/VARGRAPHIC 列、および LOB 列が含まれます。 表データと同じ表スペース中にある表オブジェクトは、 制限値に対して余分のオブジェクトとしてカウントされません。 しかし、表データとは異なる表スペースにある各表オブジェクトは、 表オブジェクトがある表スペース中の表当たりの表オブジェクト・タイプの制限値に対して、 実際に 1 個のオブジェクトとしてカウントされます。

g
ページ・サイズ固有の値に関しては、 表 34 を参照してください。

表 34. データベース・マネージャーのページ・サイズ固有の制限値
説明 4K ページ・サイズの制限値 8K ページ・サイズの制限値 16K ページ・サイズの制限値 32K ページ・サイズの制限値
1 表の列の最大数 500 1 012 1 012 1 012
3 すべてのオーバーヘッドを含む行の最大長 4 005 8 101 16 293 32 677
4 区分当たりの表の最大サイズ (ギガバイト単位) 64 128 256 512
5 区分当たりの索引の最大サイズ (ギガバイト単位) 64 128 256 512
15 選択リストのエレメントの最大数 500 1 012 1 012 1 012
17 GROUP BY 文節中の列の最大数 500 1 012 1 012 1 012
18 GROUP BY 文節中の列の合計長の最大値 (バイト単位) 4 005 8 101 16 293 32 677
19 ORDER BY 文節中の列の最大数 500 1 012 1 012 1 012
20 ORDER BY 文節中の列の合計長の最大値 (バイト単位) 4 005 8 101 16 293 32 677
29 INSERT ステートメント中の値の最大数 500 1 012 1 012 1 012
30 単一の UPDATE ステートメント中の SET 文節の最大数 500 1 012 1 012 1 012
45 通常 DMS 表スペース中の最大サイズ (ギガバイト単位) 64 128 256 512


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]