19.6 MD5_CHECKSUMファンクション

このファンクションは、ロストした更新の検出に使用します。ロストした更新の検出によって、データに同時にアクセスできる複数のアプリケーションのデータの整合性が保証されます。

このファンクションは、名前属性がfcsと等しく、最大50個の入力値に基づいたMD5チェックサムを値として持つ非表示のフォーム・フィールドを生成します。APEX_ITEM.MD5_CHECKSUMでも、Oracle DatabaseのDBMS_CRYPTOを使用して、MD5チェックサムが生成されます。

UTL_RAW.CAST_TO_RAW(DBMS_CRYPTO.MD5())

MD5チェックサムでは、データがネットワークを介して転送される際に、ハッシュやシーケンスによってデータ整合性が確保され、データが改ざんまたは盗用されていないことが保証されます。

構文

APEX_ITEM.MD5_CHECKSUM(
    p_value01   IN    VARCHAR2 DEFAULT NULL,
    p_value02   IN    VARCHAR2 DEFAULT NULL,
    p_value03   IN    VARCHAR2 DEFAULT NULL,
    ...
    p_value50   IN    VARCHAR2 DEFAULT NULL,
    p_col_sep   IN    VARCHAR2 DEFAULT '|',
    p_item_id   IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

表19-6 MD5_CHECKSUMのパラメータ

パラメータ 説明

p_value01

...

p_value50

50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります

p_col_sep

p_valueの入力を区切るために使用する文字列。デフォルトは縦線(|)です

p_item_id

HTMLフォーム・アイテムのID

このファンクションは、fcsという名前を持つ非表示のフォーム要素を生成します。その後、値にはAPEX_APPLICATION.G_FCS配列を使用してアクセスできます。

SELECT APEX_ITEM.MD5_CHECKSUM(ename,job,sal) md5_cks,
       ename, job, sal
FROM emp