プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 28.53 GET_HASHファンクション

このファンクションは、指定された値すべてについてハッシュ値を計算します。このファンクションを使用してデータ・レコードの失われた更新の検出機能を実装します。

構文

    APEX_UTIL.GET_HASH (
        p_values in apex_t_varchar2,
        p_salted in boolean default true )
        RETURN VARCHAR2;

パラメータ

表28-47 GET_HASHのパラメータ

パラメータ | 説明
--- | ---
`p_values` | 入力値。
`p_salted` | TRUE (デフォルト)の場合、内部セッション情報を含むソルト・ハッシュ。

例

    declare
           l_hash varchar2(4000);
       begin
           select apex_util.get_hash(apex_t_varchar2 (
                      empno, sal, comm ))
             into l_hash
             from emp
            where empno = :P1_EMPNO;

           if :P1_HASH <> l_hash then
               raise_application_error(-20001, 'Somebody already updated SAL/COMM');
           end if;

           update emp
              set sal = :P1_SAL,
                  comm = :P1_COMM
            where empno = :P1_EMPNO;
       exception when no_data_found then
           raise_application_error(-20001, 'Employee not found');
       end;