ROW FILTER بند

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime 12.2 LTS وما فوق وضع علامة كتالوج Unity فقط

تحديد دالة يتم تطبيقها كعامل تصفية كلما تم جلب صفوف من الجدول.

يمكنك إضافة عوامل تصفية الصفوف عند:

هام

يتم تطبيق عامل تصفية الصف بمجرد إحضار الصف من مصدر البيانات.

لمزيد من المعلومات حول كيفية استخدام عوامل تصفية الصفوف، راجع تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.

بناء الجملة

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

المعلمات

  • func_name

    SQL UDF عددي.

    يجب أن يكون BOOLEANنوع إرجاع الدالة . إذا كانت الدالة ترجع FALSE أو NULL تمت تصفية الصف.

  • column_name

    يحدد أعمدة جدول الموضوع لتمريرها إلى 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