Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 12.2 LTS und höher
Nur Unity Catalog
Gibt eine Funktion an, die als Filter angewendet wird, wenn Zeilen aus der Beziehung abgerufen werden.
Sie können Zeilenfilter hinzufügen, indem Sie:
- Erstellen Sie eine Tabelle mit CREATE TABLE.
- Ändern einer Tabelle mithilfe von ALTER TABLE.
- Erstellen einer materialisierten Ansicht mithilfe von CREATE MATERIALIZED VIEW.
- Ändern einer materialisierten Ansicht mithilfe von ALTER MATERIALIZED VIEW.
- Erstellen Sie mithilfe von CREATE STREAMING TABLE eine Streamingtabelle.
- Ändern einer Streamingtabelle mithilfe von ALTER STREAMING TABLE.
Wichtig
Der Zeilenfilter wird angewendet, sobald die Zeile aus der Datenquelle abgerufen wird.
Weitere Informationen zur Verwendung von Zeilenfiltern finden Sie unter Zeilenfilter und Spaltenmasken.
Syntax
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parameter
-
Eine skalare SQL-UDF.
Der Rückgabetyp der Funktion muss
BOOLEANsein. Wenn die FunktionFALSEoderNULLzurückgibt, wird die Zeile herausgefiltert wird. -
Gibt Spalten der Antragstellerbeziehung an, die an
func_nameübergeben werden sollen. Jedecolumn_namemuss in den entsprechenden Parameter vonfunc_namekonvertiert 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, numerisch (INTEGER,FLOAT,DOUBLE,DECIMAL…),BOOLEAN,INTERVAL,NULL.
Beispiele
Weitere Beispiele finden Sie in Zeilenfiltern und Spaltenmasken.
-- Create a table with a row filter column
> CREATE FUNCTION filter_emps(dept STRING) RETURN is_account_group_member(dept);
> CREATE TABLE employees(emp_name STRING, dept STRING) WITH ROW FILTER filter_emps ON (dept);
> INSERT INTO employees VALUES ('Jones', 'Engineering'), ('Smith', 'Sales');
-- As a member of engineering
> SELECT * FROM employees;
Jones Engineering
-- As a member of sales
> SELECT * FROM employees;
Smith Sales