Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 relatie.
U kunt rijfilters toevoegen wanneer u:
- Een tabel maken met CREATE TABLE.
- Een tabel wijzigen met behulp van ALTER TABLE.
- Maak een gerealiseerde weergave met behulp van CREATE MATERIALIZED VIEW.
- Een gerealiseerde weergave wijzigen met behulp van ALTER MATERIALIZED VIEW.
- Een streamingtabel maken met behulp van CREATE STREAMING TABLE.
- Een streamingtabel wijzigen met behulp van ALTER STREAMING TABLE.
Belangrijk
Het rijfilter wordt toegepast zodra de rij wordt opgehaald uit de gegevensbron.
Zie Rijfilters en kolommaskers voor meer informatie over het gebruik van rijfilters.
Syntaxis
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parameterwaarden
-
Een scalaire SQL UDF.
Het retourtype van de functie moet zijn
BOOLEAN. Als de functieFALSEofNULLretourneert, wordt de rij eruit gefilterd. -
Hiermee geeft u de kolommen van de subject-relatie die doorgegeven moeten worden aan
func_name. Elkecolumn_namemoet 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,INTERVALNULL.
Voorbeelden
Meer voorbeelden vindt u in 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