Oracle Cloud Infrastructureドキュメント

ユーザー定義関数

用途

ユーザー定義関数マスキング・フォーマットでは、独自のロジックを定義して列データをマスキングできます。 ユーザー定義関数の戻り値は、元の値の置換に使用されます。 ユーザー定義ファンクションは、SELECT文で起動できるPL/SQLファンクションです。

入力

  • パッケージ名(オプション):データベース・パッケージの名前
  • 関数名:データベース関数の名前

データベース関数には次の固定シグネチャが含まれます:

function udf_func (rowid varchar2, column_name varchar2, original_value varchar2) return varchar2;

説明:

  • rowidは、マスクされる値を含む行の行識別子です。
  • column_nameは、マスクされる列の名前です。
  • original_valueは、マスクされる列値です。

サポートされるデータ型

  • 文字
  • 数値
  • 日付

説明

  • 組合せ可能: はい
  • Deterministic: はい(定義された関数によって異なります)
  • 逆仕訳不可: いいえ
  • 一意性: はい(定義された関数によって異なります)

文字列値をマスクするためのユーザー定義関数を作成したとします。

ユーザー定義ファンクションを作成するには、次のコードを使用して文字列値をランダム化します。 この例は簡単ですが、ビジネス・ユース・ケースにあわせて、より複雑なコードを記述できます。

CREATE OR REPLACE FUNCTION 
change_value (rowid varchar2, column_name varchar2, mask_value varchar2) 
RETURN varchar2
IS
BEGIN
    RETURN DBMS_RANDOM.STRING('A',8);
END;