35.6 MD5_CHECKSUMファンクション

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

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

DBMS_CRYPTO.HASH (
    SRC => UTL_RAW.CAST_TO_RAW('my_string'),
    TYP => DBMS_CRYPTO.HASH_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;

パラメータ

パラメータ 説明

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