Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
cláusula
Se aplica a:
Databricks SQL
Databricks Runtime 12.2 LTS y superior
Solo Unity Catalog
Especifica una función que se aplica como filtro cada vez que se capturan filas de la relación.
Puede agregar filtros de fila cuando:
- Cree una tabla mediante CREATE TABLE.
- Modifique una tabla mediante ALTER TABLE.
- Cree una vista materializada mediante CREATE MATERIALIZED VIEW.
- Altere una vista materializada usando ALTER MATERIALIZED VIEW.
- Cree una tabla de streaming con CREATE STREAMING TABLE.
- Modifique una tabla de streaming mediante ALTER STREAMING TABLE.
Importante
El filtro de fila se aplica en cuanto se captura la fila desde el origen de datos.
Para obtener más información sobre cómo usar filtros de fila, consulte Filtros de fila y máscaras de columna.
Sintaxis
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parámetros
-
Una SQL UDF escalar.
El tipo de valor devuelto de la función debe ser
BOOLEAN. Si la función devuelveFALSEoNULLse filtra la fila. -
Especifica las columnas del tema que se van a pasar a
func_name. Cadacolumn_namedebe convertirse al parámetro correspondiente defunc_name. Debe proporcionar tantas columnas como necesite la firma de la función. Tenga en cuenta que esta característica admite el paso de cero columnas de entrada, en cuyo caso la SQL UDF debe aceptar cero parámetros y devolver un resultado booleano independiente de cualquiera de los valores de las filas de entrada. constant_literal
Especifica un parámetro de constante con el tipo que coincide con un parámetro de función. Se admiten los siguientes tipos:
STRING, numérico (INTEGER,FLOAT,DOUBLE,DECIMAL....),BOOLEAN,INTERVAL,NULL.
Ejemplos
Puede encontrar más ejemplos en Filtros de fila y máscaras de columna.
-- 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