ROW FILTER
بند
ينطبق على: Databricks SQL Databricks Runtime 12.2 LTS وما فوق كتالوج Unity فقط
تحديد دالة يتم تطبيقها كعامل تصفية كلما تم جلب صفوف من الجدول.
يمكنك إضافة عوامل تصفية الصفوف عند:
- إنشاء جدول باستخدام CREATE TABLE.
- تغيير جدول باستخدام ALTER TABLE.
هام
يتم تطبيق عامل تصفية الصف بمجرد إحضار الصف من مصدر البيانات.
لمزيد من المعلومات حول كيفية استخدام عوامل تصفية الصفوف، راجع تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.
بناء الجملة
ROW FILTER func_name ON ( [ column_name | constant_literal [, ...] ] ) [...]
المعلمات
-
SQL UDF عددي.
يجب أن يكون
BOOLEAN
نوع إرجاع الدالة . إذا كانت الدالة ترجعFALSE
أوNULL
تمت تصفية الصف. -
يحدد أعمدة جدول الموضوع لتمريرها إلى
func_name
. يجب أن يكون كلcolumn_name
منها قابلا للصب إلى المعلمة المقابلة لfunc_name
. يجب توفير العديد من الأعمدة كما هو مطلوب من خلال توقيع الدالة. لاحظ أن هذه الميزة تدعم تمرير أعمدة إدخال صفرية، وفي هذه الحالة يجب أن يقبل SQL UDF صفر معلمات وإرجاع نتيجة منطقية مستقلة عن أي من قيم صفوف الإدخال. constant_literal
تحديد معلمة ثابتة بنوع يطابق معلمة دالة. الأنواع التالية مدعومة:
STRING
، رقمية (INTEGER
، ،FLOAT,
DECIMAL
DOUBLE
...)،BOOLEAN
، ،INTERVAL
، .NULL
الأمثلة
يمكنك العثور على مزيد من الأمثلة في تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.
-- 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