Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
Databricks SQL
Databricks Runtime 12.2 LTS és újabb
kizárólag a Unity Catalog
Olyan függvényt ad meg, amely szűrőként lesz alkalmazva, amikor sorokat hív le a relációból.
Sorszűrőket akkor adhat hozzá, ha:
- Tábla létrehozása CREATE TABLEhasználatával.
- Táblázat módosítása ALTER TABLEhasználatával.
- Materializált nézet létrehozása a következővel CREATE MATERIALIZED VIEW: .
- Materializált nézet módosítása a következővel ALTER MATERIALIZED VIEW.
- Egy streamelési tábla létrehozása CREATE STREAMING TABLEhasználatával.
- Streaming tábla módosítása ALTER STREAMING TABLE használatával.
Fontos
A sorszűrőt azonnal alkalmazzák, amint a sort lekérik az adatforrásból.
További információ a sorszűrők használatáról: Sorszűrők és oszlopmaszkok.
Szintaxis
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Paraméterek
-
Skaláris SQL UDF.
A függvény visszatérési típusának a következőnek kell lennie
BOOLEAN: . Ha a függvény visszatérFALSE, vagyNULLa sor ki van szűrve. -
Megadja azokat a tárgykapcsolat oszlopait, amelyeket át kell adni a
func_name-nek. Mindencolumn_namealakíthatónak kell lennie a megfelelőfunc_nameparaméterre. Annyi oszlopot kell megadnia, amennyit a függvény aláírása megkövetel. Vegye figyelembe, hogy ez a funkció támogatja a nulla bemeneti oszlopok átadását, ebben az esetben az SQL UDF-nek nulla paramétert kell elfogadnia, és logikai eredményt kell visszaadnia a bemeneti sorok értékétől függetlenül. constant_literal
Állandó paramétert ad meg egy függvényparaméternek megfelelő típussal. A következő típusok támogatottak:
STRING, numerikus (INTEGER,FLOAT,DOUBLE,DECIMAL...),BOOLEAN,INTERVAL,NULL.
Példák
További példákat a sorszűrőkben és az oszlopmaszkokban találhat.
-- 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