ユーザー定義関数
用途
ユーザー定義関数マスキング・フォーマットでは、独自のロジックを定義して列データをマスキングできます。 ユーザー定義関数の戻り値は、元の値の置換に使用されます。 ユーザー定義ファンクションは、SELECT
文で起動できるPL/SQLファンクションです。
Inputs
- パッケージ名: データベース・パッケージの名
- 関数名: データベース関数の名前
データベース関数には次の固定シグネチャが含まれます:
function udf_func (rowid varchar2, column_name varchar2, original_value varchar2) return varchar2;
説明:
rowid
は、マスクされる値を含む行の行識別子です。column_name
は、マスクされる列の名前です。original_value
は、マスクされる列値です。
サポートされるデータ型
- 文字
- 数値
- 日付
特性
- ダブルバイト文字をサポート: Yes
- 組合せ可能: Yes
- 確定的: はい(定義された関数によって異なります)
- 逆可: いいえ
- 一意性: はい(定義された関数によって異なります)
例
文字列値をマスクするためのユーザー定義関数を作成したとします。
ユーザー定義ファンクションを作成するには、次のコードを使用して文字列値をランダム化します。 この例は簡単ですが、ビジネス・ユース・ケースにあわせて、より複雑なコードを記述できます。
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;