DATAPARTITIONNUM スカラー関数

DATAPARTITIONNUM 関数は、行が置かれているデータ・パーティションのシーケンス番号 (SYSDATAPARTITIONS.SEQNO) を戻します。

構文図を読む構文図をスキップするDATAPARTITIONNUM(column-name )

スキーマは 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 節に組み込みます。
       SELECT DATAPARTITIONNAME
       FROM SYSCAT.DATAPARTITIONS
       WHERE TABNAME = 'EMPLOYEE' AND SEQNO = 0
    上記の結果は、値 'PART0' になります。