Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:
Databricks SQL
Databricks Runtime 12.2 LTS a vyšší,
Unity Catalog.
Určuje funkci, která se použije jako filtr při každém načtení řádků z relace.
Filtry řádků můžete přidat, když:
- Vytvořte tabulku pomocí CREATE TABLE.
- Změna tabulky pomocí ALTER TABLE.
- Vytvoření materializovaného zobrazení pomocí CREATE MATERIALIZED VIEW.
- Změna materializovaného zobrazení pomocí ALTER MATERIALIZED VIEW.
- Vytvořte streamovací tabulku pomocí CREATE STREAMING TABLE.
- Upravte streamovací tabulku pomocí ALTER STREAMING TABLE.
Důležité
Filtr řádků se použije, jakmile se řádek načte ze zdroje dat.
Další informace o tom, jak používat filtry řádků, najdete v tématu Filtry řádků a masky sloupců.
Syntaxe
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parametry
-
Skalární funkce definované uživatelem SQL
Návratový typ funkce musí být
BOOLEAN. Pokud funkce vrátíFALSEneboNULLse řádek vyfiltruje. -
Určuje sloupce předmětné relace, které se mají předat do
func_name. Každýcolumn_namemusí být přetypován na odpovídající parametrfunc_name. Musíte zadat tolik sloupců, kolik vyžaduje podpis funkce. Všimněte si, že tato funkce podporuje předávání nulových vstupních sloupců, v takovém případě musí funkce SQL UDF přijmout nulové parametry a vrátit logický výsledek nezávislý na libovolné hodnotě vstupních řádků. constant_literal
Určuje konstantní parametr s typem, který odpovídá parametru funkce. Podporují se následující typy:
STRING, číselná (INTEGER,FLOAT,DOUBLE,DECIMAL...),BOOLEAN,INTERVAL,NULL.
Příklady
Další příklady najdete v filtrech řádků a maskách sloupců.
-- 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