Compartilhar via


Cláusula ROW FILTER

Aplica-se a:verificação marcada como sim SQL do Databricksverificação marcada como sim Databricks Runtime 12.2 LTS e versões posteriores verificação marcada como sim Somente Catálogo do Unity

Especifica uma função que é aplicada como um filtro sempre que as linhas são buscadas da tabela.

Você pode adicionar filtros de linha quando:

Importante

O filtro de linha é aplicado assim que a linha é buscada da fonte de dados.

Para obter mais informações sobre como usar os filtros de linha, consulte Filtrar dados confidenciais da tabela usando filtros de linha e máscaras de coluna.

Sintaxe

ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]

Parâmetros

  • func_name

    Um UDF de SQL escalar.

    O tipo de retorno da função deve ser BOOLEAN. Se a função retornar FALSE ou NULL, a linha foi filtrada.

  • column_name

    Especifica colunas da tabela de assunto a serem passadas para func_name. Cada column_name um deve ser conversível no parâmetro correspondente de func_name. Você deve fornecer quantas colunas forem necessárias pela assinatura da função. Observe que esse recurso dá suporte à passagem de zero colunas de entrada; nesse caso, a UDF do SQL deve aceitar zero parâmetros e retornar um resultado booliano independente de qualquer um dos valores das linhas de entrada.

  • constant_literal

    Especifica um parâmetro constante com o tipo que corresponde a um parâmetro de função. Há suporte para os seguintes tipos: STRING, numérico (INTEGER,FLOAT,,DOUBLE,DECIMAL...), BOOLEAN, INTERVAL, NULL.

Exemplos

Você pode encontrar mais exemplos em Filtrar dados confidenciais da tabela usando filtros de linha e máscaras de coluna.

-- 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 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