ROW FILTER cümlecik

Şunlar için geçerlidir:onay işareti konulmuş Databricks SQL onay işareti konulmuş Databricks Runtime 12.2 LTS ve üzeri onay işareti konulmuş yalnızca Unity Kataloğu

İlişkiden satır getirildiğinde filtre olarak uygulanan bir işlevi belirtir.

Şu durumlarda satır filtreleri ekleyebilirsiniz:

Önemli

Satır filtresi, satır veri kaynağından getirildiğinde uygulanır.

Satır filtrelerini kullanma hakkında daha fazla bilgi için bkz. Satır filtreleri ve sütun maskeleri.

Gerekli ayrıcalıklar

Tabloya satır filtresi ekleyen bir işlev atamak için işlevde, USE SCHEMA şemada ve USE CATALOG üst katalogda ayrıcalığınız olmalıdırEXECUTE.

Yeni tablo oluştururken satır filtresi ekliyorsanız şemada ayrıcalığınız CREATE TABLE olmalıdır.

Varolan bir tabloya satır filtresi ekliyorsanız, tablo sahibi olmanız veya tabloda ayrıcalığınız olması MANAGE gerekir.

Sözdizimi

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

Parametreler

  • func_name

    Skaler SQL UDF.

    İşlevin dönüş türü olmalıdır BOOLEAN. İşlev döndürülüyorsa FALSE veya NULL satır filtrelenmişse.

  • sütun_adı

    öğesine geçirecek konu ilişkisinin sütunlarını func_namebelirtir. Her column_name biri karşılık gelen parametresine func_nameatanabilir olmalıdır. İşlevin imzası için gereken sayıda sütun sağlamanız gerekir. Bu özellik sıfır giriş sütunlarını geçirmeyi destekler; bu durumda SQL UDF'nin sıfır parametre kabul etmesi ve giriş satırlarının değerlerinden bağımsız bir Boole sonucu döndürmesi gerekir.

    Önemli

    Bir sütunun veri türü karşılık gelen işlev parametre türüyle tam olarak eşleşmiyorsa, sütun değeri örtük olarak yayınlanır. Devre ANSI_MODE dışı bırakıldığında, yayınlanabilen değerler sessizce öğesine NULLdönüştürülür ve bu da beklenmeyen filtre sonuçları oluşturabilir. UDF parametre türleri, kendilerine geçirilen sütunların veri türleriyle eşleşmelidir. Bkz. Veri türü uyuşmazlığı davranışı.

  • constant_literal

    Bir işlev parametresiyle eşleşen türe sahip sabit bir parametre belirtir. Aşağıdaki türler desteklenir: STRING, sayısal (INTEGER, FLOAT,DOUBLE , DECIMAL ...), BOOLEAN, INTERVAL, NULL.

Örnekler

Satır filtreleri ve sütun maskeleri bölümünde daha fazla örnek bulabilirsiniz.

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