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.
Hak istimewa yang diperlukan
Untuk menetapkan fungsi yang menambahkan filter baris ke tabel, Anda harus memiliki EXECUTE hak istimewa pada fungsi, USE SCHEMA pada skema, dan USE CATALOG pada katalog induk.
Jika Anda menambahkan filter baris saat membuat tabel baru , Anda harus memiliki CREATE TABLE hak istimewa pada skema.
Jika Anda menambahkan filter baris ke tabel yang sudah ada , Anda harus menjadi pemilik tabel atau memiliki MANAGE hak istimewa pada tabel.
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. Fitur ini mendukung melewati kolom input nol, dalam hal ini SQL UDF harus menerima parameter nol dan mengembalikan hasil Boolean yang independen dari nilai baris input.Penting
Jika jenis data kolom tidak sama persis dengan jenis parameter fungsi yang sesuai, nilai kolom akan ditransmisikan secara implisit. Dengan ANSI_MODE dinonaktifkan, nilai yang tidak dapat ditransmisikan dikonversi secara diam-diam ke
NULL, yang dapat menghasilkan hasil filter yang tidak terduga. Jenis parameter UDF harus cocok dengan jenis data kolom yang diteruskan ke jenis tersebut. Lihat Perilaku ketidakcocokan jenis data. 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