Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime 12.2 LTS e superior
somente Unity Catalog
Especifica uma função que é aplicada como um filtro sempre que linhas são buscadas da relação.
Você pode adicionar filtros de linha quando:
- Crie uma tabela usando CREATE TABLE.
- Altere uma tabela usando ALTER TABLE.
- Crie uma exibição materializada usando CREATE MATERIALIZED VIEW.
- Altere uma visão materializada usando ALTER MATERIALIZED VIEW.
- Crie uma tabela de streaming usando CREATE STREAMING TABLE.
- Altere uma tabela de streaming usando ALTER STREAMING TABLE.
Importante
O filtro de linha é aplicado assim que a linha é buscada na fonte de dados.
Para obter mais informações sobre como usar filtros de linha, consulte Filtros de linha e máscaras de coluna.
Sintaxe
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parâmetros
-
Um SQL UDF escalar.
O tipo de retorno da função deve ser
BOOLEAN. Se a função retornarFALSEouNULLa linha for filtrada. -
Especifica colunas da relação de assunto a ser passada para
func_name. Cadacolumn_nameum deve ser moldável para o parâmetro correspondente defunc_name. Você deve fornecer quantas colunas forem exigidas pela assinatura da função. Observe que esse recurso oferece suporte à passagem de colunas de entrada zero, caso em que o SQL UDF deve aceitar parâmetros zero e retornar um resultado booleano independente de qualquer um dos valores das linhas de entrada.Importante
Se o tipo de dado de uma coluna não corresponder exatamente ao tipo correspondente de parâmetro da função, o valor da coluna é implicitamente cast. Com ANSI_MODE desativado, os valores que não podem ser lançados são silenciosamente convertidos para
NULL, o que pode produzir resultados de filtro inesperados. Os tipos de parâmetros UDF devem corresponder aos tipos de dados das colunas que lhes são passadas. Veja comportamento de desajustamento dos tipos de dados. constant_literal
Especifica um parâmetro constante com o tipo correspondendo a um parâmetro de função. Os seguintes tipos são suportados:
STRING, numérico (INTEGER,FLOAT,DOUBLE,DECIMAL...),BOOLEAN, ,INTERVALNULL.
Exemplos
Você pode encontrar mais exemplos em Filtros de linha e máscaras de coluna.
-- 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