ROW FILTER
clause
Se aplica a: Databricks SQL Databricks Runtime 12.2 LTS y versiones posteriores solo Unity Catalog
Especifica una función que se aplica como filtro cada vez que se capturan filas de la tabla.
Puede agregar filtros de fila cuando:
- Cree una tabla con CREATE TABLE.
- Modifique una tabla mediante ALTER 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 los filtros de fila, vea Filtrado de datos de tabla confidenciales mediante 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 devuelveFALSE
oNULL
se filtra la fila. -
Especifica las columnas de la tabla de asunto que se van a pasar a
func_name
. Cadacolumn_name
debe 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 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 Filtrado de datos de tabla confidenciales mediante filtros de fila y máscaras de columna.
-- Create a table with a row filter column
> CREATE FUNCTION filter_emps(dept STRING) RETURN is_member(dept);
> CREATE TABLE employees(emp_name STRING, dept STRING) WITH ROW FILTER filter_emps ON (dept);
> INSERT INTO employees('Jones', 'Engineering'), ('Smith', 'Sales');
-- As a member of engineering
> SELECT * FROM employees;
Jones Engineering
-- As a member of sales
> SELECT * FROM employees;
Smith Sales