Benutzerdefinierte Funktion

Zweck

Mit dem Maskierungsformat "Benutzerdefinierte Funktion" können Sie Ihre eigene Logik zur Maskierung von Spaltendaten definieren. Mit dem Rückgabewert der benutzerdefinierten Funktion werden anschließend die Originalwerte ersetzt. Die benutzerdefinierte Funktion ist eine PL/SQL-Funktion, die in einer SELECT-Anweisung aufgerufen werden kann.

Eingaben

  • Packagename: Der Name des Datenbankpackages

  • Funktionsname: Der Name der Datenbankfunktion

Die Datenbankfunktion hat eine feste Signatur:

function udf_func (rowid varchar2, column_name varchar2, original_value varchar2, [seed_value varchar2]) return varchar2;

Dabei gilt:

  • rowid ist die Zeilen-ID der Zeile, die den zu maskierenden Wert enthält.

  • column_name ist der Name der zu maskierenden Spalte.

  • original_value ist der zu maskierende Spaltenwert.

  • seed_value ist optional und gibt den verwendeten Seed-Wert an. Der Seed-Wert kann eine bis 200 Stellen lang sein.

    Die Verwendung desselben Seed-Wertes über benutzerdefinierte Funktionen hinweg gewährleistet Konsistenz in maskierten Werten.

Unterstützte Datentypen

  • Zeichen

  • Numerisch

  • Datum

Merkmale

  • Unterstützt Doppelbyte-Zeichen: Ja

  • Kombinierbar: Ja

  • Deterministisch: Ja, je nach definierter Funktion

  • Umkehrbar: Nein

  • Eindeutigkeit: Ja, je nach definierter Funktion

Beispiel

Angenommen, Sie erstellen eine benutzerdefinierte Funktion zur Maskierung von Zeichenfolgenwerten.

Zum Erstellen der benutzerdefinierten Funktion können Sie den folgenden Code verwenden, um die Zeichenfolgenwerte zufällig auszuwählen. Dieses Beispiel ist einfach. Sie können jedoch komplexeren Code schreiben, der den Anforderungen Ihres Geschäftsanwendungsfalls entspricht.

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