必要に応じて、「フォーマットの作成」ページでユーザー定義関数および後処理関数を指定できます。ユーザー定義の選択肢は「追加」リスト内、後処理関数フィールドはページ下部にあります。
ユーザー定義関数
ユーザー定義関数を指定するには、「追加」リストから「ユーザー定義関数」を選択し、「実行」をクリックして、入力フィールドにアクセスします。
ユーザー定義関数は、元の値を入力として受け取り、マスク値を戻します。出力値のデータ型と一意性は、元の出力値と互換性がある必要があります。それ以外の場合、ジョブの実行に失敗します。また、ユーザー定義関数は、SELECT
文で起動できるPL/SQLファンクションです。シグネチャは、次のように戻されます。
Function udf_func (rowid varchar2, column_name varchar2, original_value varchar2) returns varchar2;
rowid
は、第3引数のoriginal_value
の値を含む行の最小値(rowid)になります。
column_name
はマスキングされる列の名前です。
original_value
はマスキングされる値です。
つまり、それは、元の値を入力文字列として受け取り、マスク値を戻します。
入力値と出力値は、両方ともVARCHAR2です。たとえば、数値をマスキングするユーザー定義関数は、入力として100を受け取り(数値100の文字列表現)、99を戻します(数値99の文字列表現)。値は、表への挿入時に適切にキャストされます。値をキャストできない場合、マスキングは失敗します。
後処理関数を指定するには、「後処理関数」フィールドに関数を入力します。
後処理関数は、ユーザー定義関数と同じシグネチャを持ちますが、マスキング・エンジンが生成したマスク値を受け取り、マスキングに使用できるマスク値を戻します。次の例を参照してください。
Function post_proc_udf_func (rowid varchar2, column_name varchar2, mask_value varchar2) returns varchar2;
rowid
は、mask_value
の値を含む行の最小値(ROWID)です。
column_name
はマスキングされる列の名前です。
mask_value
はマスキングされる値です。