Delen via


ROW FILTER clausule

Van toepassing op:vinkje met ja Databricks SQL vinkje met ja Databricks Runtime 12.2 LTS en hoger vinkje met ja Unity Catalog alleen

Geeft een functie op die wordt toegepast als filter wanneer rijen worden opgehaald uit de table.

U kunt rijfilters toevoegen wanneer u:

Belangrijk

Het rijfilter wordt toegepast zodra de rij wordt opgehaald uit de gegevensbron.

Voor meer informatie over hoe u rijfilters gebruikt, zie Gevoelige table gegevens filteren met rijfilters en column maskers.

Syntaxis

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

Parameters

  • func_name

    Een scalaire SQL UDF.

    Het retourtype van de functie moet zijn BOOLEAN. Als de functie retourneert FALSE of NULL de rij wordt uitgefilterd.

  • column_name

    Hiermee specificeert u columns van de parameter table om door te geven aan func_name. Elk column_name moet worden castable naar de bijbehorende parameter van func_name. U moet evenveel columns opgeven als vereist door de signatuur van de functie. Houd er rekening mee dat deze functie ondersteuning biedt voor het doorgeven van nulinvoer columns. In dat geval moet de SQL UDF nul parameters accepteren en een booleaans resultaat retourneren, onafhankelijk van een van de values van de invoerrijen.

  • constant_literal

    Hiermee geeft u een constante parameter met het type dat overeenkomt met een functieparameter. De volgende typen worden ondersteund: STRING, numeriek (INTEGER, FLOAT,DOUBLE, DECIMAL ...), BOOLEAN, INTERVALNULL.

Voorbeelden

Meer voorbeelden vindt u in Gevoelige table gegevens filteren met behulp van rijfilters en column maskers.

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