ROW FILTER
clausule
Van toepassing op: Databricks SQL
Databricks Runtime 12.2 LTS en hoger
Alleen Unity Catalog
Hiermee geeft u een functie op die wordt toegepast als een filter wanneer rijen worden opgehaald uit de tabel.
U kunt rijfilters toevoegen wanneer u:
- Een tabel maken met CREATE TABLE.
- Een tabel wijzigen met behulp van ALTER TABLE.
Belangrijk
Het rijfilter wordt toegepast zodra de rij wordt opgehaald uit de gegevensbron.
Zie Gevoelige tabelgegevens filteren met rijfilters en kolommaskersvoor meer informatie over het gebruik van rijfilters.
Syntaxis
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parameters
-
Een scalaire SQL UDF.
Het retourtype van de functie moet zijn
BOOLEAN
. Als de functieFALSE
ofNULL
retourneert, wordt de rij eruit gefilterd. -
Specificeer de kolommen van de doeltabel die moeten worden doorgegeven aan
func_name
. Elkecolumn_name
moet omgezet kunnen worden naar de bijbehorende parameter vanfunc_name
. U moet zoveel kolommen opgeven als vereist is door de handtekening van de functie. Houd er rekening mee dat deze functie ondersteuning biedt voor het doorgeven van kolommen zonder invoer. In dat geval moet de SQL UDF nulparameters accepteren en een booleaans resultaat retourneren onafhankelijk van een van de waarden van de invoerrijen. constant_literal
Hiermee specificeert u een constante parameter waarvan het type overeenkomt met dat van een functieparameter. De volgende typen worden ondersteund:
STRING
, numeriek (INTEGER
,FLOAT,
DOUBLE
,DECIMAL
...),BOOLEAN
,INTERVAL
NULL
.
Voorbeelden
Meer voorbeelden vindt u in Gevoelige tabelgegevens filteren met behulp van rijfilters en kolommaskers.
-- 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