Freigeben über


ROW FILTER-Klausel

Gilt für: Häkchen ja Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime 12.2 LTS und höher Häkchen gesetzt ja Nur Unity Catalog

Gibt eine Funktion an, die als Filter angewandt wird, wenn Zeilen aus der Tabelle abgerufen werden.

Sie können Zeilenfilter hinzufügen, indem Sie:

Wichtig

Der Zeilenfilter wird angewendet, sobald die Zeile aus der Datenquelle abgerufen wird.

Weitere Informationen zur Verwendung von Zeilenfiltern finden Sie unter Filtern vertraulicher Tabellendaten mit Zeilenfiltern und Spaltenmasken.

Syntax

ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]

Parameter

  • func_name

    Eine skalare SQL-UDF.

    Der Rückgabetyp der Funktion muss BOOLEAN sein. Wenn die Funktion FALSE oder NULL zurückgibt, wird die Zeile herausgefiltert wird.

  • column_name

    Gibt Spalten der Thementabelle an, die an func_name übergeben werden sollen. Jede column_name muss in den entsprechenden Parameter von func_name konvertiert werden können. Sie müssen so viele Spalten liefern, wie die von der Signatur der Funktion erfordert werden. Beachten Sie, dass dieses Feature das Übergeben von Nulleingabespalten unterstützt. In diesem Fall muss die SQL-UDF null Parameter akzeptieren und ein boolesches Ergebnis unabhängig von den Werten der Eingabezeilen zurückgeben.

  • constant_literal

    Gibt einen Konstantenparameter an, dessen Typ einem Funktionsparameter entspricht. Die folgenden Typen werden unterstützt: STRING, numerische Typen (INTEGER, FLOAT, DOUBLE, DECIMAL, …), BOOLEAN, INTERVAL, NULL.

Beispiele

Weitere Beispiele finden Sie unter Filtern vertraulicher Tabellendaten mit Zeilenfiltern und Spaltenmasken.

-- Create a table with a row filter column
> CREATE FUNCTION filter_emps(dept STRING) RETURN is_member(dept);
> CREATE TABLE employees(emp_name STRING, dept STRING) WITH ROW FILTER filter_emps ON (dept);
> INSERT INTO employees('Jones', 'Engineering'), ('Smith', 'Sales');

-- As a member of engineering
> SELECT * FROM employees;
  Jones Engineering

-- As a member of sales
> SELECT * FROM employees;
  Smith Sales