>>-PARTITION--(--column-name--)--------------------------------><
スキーマは SYSIBM です。
PARTITION 関数は、 区分化関数を行の区分化キー値に適用することによって入手された行の区分化マップ索引を戻します。 たとえば、SELECT 文節で使用すると、 その SELECT ステートメントの結果の生成に使用された表の各行の区分化マップ索引を戻します。
変換変数および表に戻される区分化マップ索引は、区分化キー列の現行変換値から派生します。 たとえば、挿入前トリガーにおいて、 新しい変換変数の現行値があれば、関数は予定区分化マップ索引を戻します。 ただし、区分化キー列の値はそれ以後の挿入前トリガーによって変更される場合があります。 したがって、データベースに挿入される時点で、 行の最終区分化マップ索引は予定値と異なるかもしれません。
引き数は、表の列の修飾された名前または無修飾の名前でなければなりません。 該当の列は、どのようなデータ・タイプであっても構いません。 46 column-name が視点の列を参照する場合、 その列の視点の式は基礎表の列を参照する必要があり、 その視点は削除可能でなければなりません。 ネストされているか、または共通の表式は、視点と同じ規則に従います。 削除可能な視点の定義については、注を参照してください。
PARTITION 関数によって区分化マップ索引が戻される特定の行 (または表) は、 この関数を使用する SQL ステートメントの文脈から判別されます。
結果のデータ・タイプは、0 〜 4095 の範囲の INTEGER です。 区分化キーのない表の場合、結果は常に 0 になります。 ヌル値が戻されることはありません。 行レベルの情報が戻されるので、どの列が表に指定されるかに関係なく、結果は同じです。
PARTITION 関数は、複製された表、検査制約内、 または生成された列の定義で使用することはできません (SQLSTATE 42881)。
例:
SELECT EMPNO FROM EMPLOYEE WHERE PARTITION(PHONENO) = 100
CREATE TRIGGER EMPINSLOGTRIG2 BEFORE INSERT ON EMPLOYEE REFERENCING NEW AW NEWTABLE FOR EACH MODE ROW MODE DB2SQL INSERT INTO EMPINSERTLOG2 VALUES(NEWTABLE.EMPNO, PARTITION(NEWTABLE.EMPNO))