DATAPARTITIONNUM スカラー関数
DATAPARTITIONNUM 関数は、行が置かれているデータ・パーティションのシーケンス番号 (SYSDATAPARTITIONS.SEQNO) を戻します。
スキーマは SYSIBM です。
- column-name
- 表内の任意の列の修飾された名前または無修飾の名前。
行レベルの情報が戻されるので、どの列が指定されるかに関係なく、結果は同じです。
該当の列は、どのようなデータ・タイプであっても構いません。
列がビューの列である場合、ビューの列の式は、基礎となる基本表の列を参照する必要があり、そのビューは削除可能でなければなりません。 ネストされているか、または共通の表式は、ビューと同じ規則に従います。
結果
結果のデータ・タイプは INTEGER であり、NULL 値にはなりません。
データ・パーティションは範囲別にソートされ、シーケンス番号は 0 から始まります。例えば、範囲が最低のデータ・パーティションに置かれている行の場合、DATAPARTITIONNUM 関数から 0 が戻されます。
注
- この関数は、 ユーザー定義関数の作成時にソース関数として使用することはできません。 この関数は、すべてのデータ・タイプを引数として受け入れるので、ユーザー定義特殊タイプをサポートするための追加のシグニチャーを作成する必要はありません。
- DATAPARTITIONNUM 関数は、チェック制約内、または生成列の定義で使用することはできません (SQLSTATE 42881)。 DATAPARTITIONNUM 関数は、マテリアライズ照会表 (MQT) 定義の中でも使用できません (SQLSTATE 428EC)。
- CREATE INDEX ステートメントには、DATAPARTITIONNUM 関数を式ベース・キーの一部として使用することはできません。
例
- 例 1: EMPLOYEE.EMPNO の行が置かれているデータ・パーティションのシーケンス番号を取得します。
SELECT DATAPARTITIONNUM (EMPNO) FROM EMPLOYEE - 例 2: DATAPARTITIONNUM によって戻されたシーケンス番号 (例えば 0) を、他の SQL ステートメント (例えば ALTER TABLE...DETACH PARTITION) 内で使用できるデータ・パーティション名に変換するときは、SYSCAT.DATAPARTITIONS カタログ・ビューを照会することができます。
以下の例で説明されているとおり、DATAPARTITIONNUM から取得された SEQNO を WHERE 節に組み込みます。
上記の結果は、値 'PART0' になります。SELECT DATAPARTITIONNAME FROM SYSCAT.DATAPARTITIONS WHERE TABNAME = 'EMPLOYEE' AND SEQNO = 0
