Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Clause
S’applique à :
Databricks SQL
Databricks Runtime 12.2 LTS et versions ultérieures
Unity Catalog uniquement
Spécifie une fonction qui est appliquée en tant que filtre chaque fois que les lignes sont extraites de la relation.
Vous pouvez ajouter des filtres de lignes lorsque vous :
- Créez une table à l’aide de CREATE TABLE.
- Modifiez une table à l’aide de ALTER TABLE.
- Créez une vue matérialisée à l'aide de CREATE MATERIALIZED VIEW.
- Modifier une vue matérialisée à l’aide de ALTER MATERIALIZED VIEW.
- créer une table de streaming à l’aide de CREATE STREAMING TABLE ;
- modifiez une table de streaming à l’aide de ALTER STREAMING TABLE.
Importante
Le filtre de lignes est appliqué dès que la ligne est extraite de la source de données.
Pour plus d’informations sur l’utilisation des filtres de lignes, consultez filtres de lignes et masques de colonne.
Syntaxe
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parameters
-
Une fonction SQL scalaire définie par l’utilisateur.
Le type de retour de la fonction doit être
BOOLEAN. Si la fonction renvoieFALSEouNULL, la ligne est filtrée. -
Spécifie les colonnes de la relation de sujet à transmettre à
func_name. Chaquecolumn_namedoit être convertible dans le paramètre correspondant defunc_name. Vous devez fournir autant de colonnes que l’exige la signature de la fonction. Notez que cette fonctionnalité prend en charge la transmission de colonnes d’entrée nulle, auquel cas la fonction SQL définie par l’utilisateur doit accepter zéro paramètre et renvoyer un résultat booléen indépendant de toute valeur des lignes d’entrée. constant_literal
Spécifie un paramètre constant avec le type correspondant à un paramètre de fonction. Les types suivants sont pris en charge :
STRING, numérique (INTEGER,FLOAT,DOUBLE,DECIMAL…),BOOLEAN,INTERVAL,NULL.
Exemples
Vous trouverez d’autres exemples dans les filtres de lignes et les masques de colonne.
-- 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