Compartir vía


ROW FILTER clause

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 12.2 LTS y versiones posteriores casilla marcada como Sí 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:

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

  • func_name

    Una SQL UDF escalar.

    El tipo de valor devuelto de la función debe ser BOOLEAN. Si la función devuelve FALSE o NULL se filtra la fila.

  • column_name

    Especifica las columnas de la tabla de asunto que se van a pasar a func_name. Cada column_name debe convertirse al parámetro correspondiente de func_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