Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime 12.2 LTS ke atas
Unity Catalog saja
Menentukan fungsi yang diterapkan sebagai filter setiap kali baris diambil dari relasi.
Anda dapat menambahkan filter baris saat Anda:
- Buat tabel menggunakan CREATE TABLE.
- Ubah tabel menggunakan ALTER TABLE.
- Buat tampilan materialisasi menggunakan CREATE MATERIALIZED VIEW.
- Ubah tampilan materialisasi menggunakan ALTER MATERIALIZED VIEW.
- Buat tabel streaming menggunakan CREATE STREAMING TABLE.
- Ubah tabel streaming menggunakan ALTER STREAMING TABLE.
Penting
Filter baris diterapkan segera setelah baris diambil dari sumber data.
Untuk informasi selengkapnya tentang cara menggunakan filter baris, lihat Filter baris dan masker kolom.
Sintaks
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
Parameter-parameternya
-
SQL UDF skalar.
Jenis pengembalian fungsi harus
BOOLEAN. Jika fungsi mengembalikanFALSEatauNULLbaris akan disaring. -
Spesifikasikan kolom hubungan subjek yang akan diteruskan ke
func_name. Masing-masingcolumn_nameharus dapat diubah menjadi parameter yang sesuai darifunc_name. Anda harus menyediakan kolom sebanyak yang diperlukan oleh definisi fungsi. Perhatikan bahwa fitur ini mendukung melewati kolom input nol, dalam hal ini SQL UDF harus menerima parameter nol dan mengembalikan hasil boolean yang independen dari salah satu nilai baris input. constant_literal
Menentukan parameter konstanta dengan jenis yang cocok dengan parameter fungsi. Jenis berikut didukung:
STRING, numerik (INTEGER, ,FLOAT,DOUBLEDECIMAL...),BOOLEAN, , .INTERVALNULL
Contoh
Anda dapat menemukan contoh lainnya di Filter baris dan masker kolom.
-- 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