العمل مع معلمات الاستعلام

توضح هذه المقالة كيفية العمل مع معلمات الاستعلام في محرر Azure Databricks SQL.

تسمح لك معلمات الاستعلام بجعل الاستعلامات أكثر ديناميكية ومرونة عن طريق إدراج قيم متغيرة في وقت التشغيل. بدلا من ترميز قيم محددة مضمنة في الاستعلامات الخاصة بك، يمكنك تعريف المعلمات لتصفية البيانات أو تعديل الإخراج استنادا إلى إدخال المستخدم. يحسن هذا الأسلوب إعادة استخدام الاستعلام، ويعزز الأمان من خلال منع حقن SQL، ويتيح معالجة أكثر كفاءة لسيناريوهات البيانات المتنوعة.

بناء جملة علامة المعلمة المسماة

علامات المعلمات المسماة هي متغيرات عنصر نائب مكتوبة. استخدم بناء الجملة هذا لكتابة الاستعلامات في الأجزاء التالية من واجهة مستخدم Azure Databricks:

  • محرر SQL

  • دفاتر الملاحظات

  • محرر مجموعة بيانات لوحة معلومات الذكاء الاصطناعي/BI

  • الذكاء الاصطناعي/BI Genie spaces (معاينة عامة)

إدراج معلمات في استعلامات SQL الخاصة بك عن طريق كتابة علامة النقطتين متبوعة باسم معلمة، مثل :parameter_name. عند تضمين علامة معلمة مسماة في استعلام، يظهر عنصر واجهة مستخدم في واجهة المستخدم. يمكنك استخدام عنصر واجهة المستخدم لتحرير نوع المعلمة واسمها.

تتم إضافة معلمة مسماة إلى استعلام SQL. يظهر عنصر واجهة مستخدم أسفل محرر SQL

إضافة علامة معلمة مسماة إلى استعلام

يضيف هذا المثال علامة معلمة إلى الاستعلام التالي:


SELECT
  trip_distance,
  fare_amount
FROM
  samples.nyctaxi.trips
WHERE
  fare_amount < 5

يقوم هذا الاستعلام بإرجاع مجموعة بيانات تتضمن فقط مبالغ أجرة أقل من خمسة دولارات. استخدم الخطوات التالية لتحرير الاستعلام لاستخدام معلمة بدلا من القيمة ذات التعليمات البرمجية المضمنة (5).

  1. احذف الرقم 5 من الاستعلام.
  2. اكتب نقطتين (:) متبوعا بالسلسلة fare_parameter. يجب أن يقول fare_amount < :fare_parameterالسطر الأخير من الاستعلام المحدث .
  3. انقر فوق أيقونة أيقونة الترس الترس بالقرب من عنصر واجهة مستخدم المعلمة. يعرض مربع الحوار الحقول التالية:
    • الكلمة الأساسية: الكلمة الأساسية التي تمثل المعلمة في الاستعلام. لا يمكنك تحرير هذا الحقل. لتغيير الكلمة الأساسية، قم بتحرير العلامة في استعلام SQL.
    • العنوان: العنوان الذي يظهر فوق عنصر واجهة المستخدم. بشكل افتراضي، يكون العنوان هو نفس الكلمة الأساسية.
    • النوع: الأنواع المدعومة هي النص والرقم والقائمة المنسدلة والتاريخ والتاريخ والوقت والتاريخ والوقت (بالثوان). الإعداد الافتراضي هو Text.
  4. في مربع الحوار، قم بتغيير النوع إلى رقم.
  5. أدخل رقما في عنصر واجهة مستخدم المعلمة وانقر فوق تطبيق التغييرات.
  6. انقر فوق حفظ لحفظ الاستعلام.

أمثلة بناء جملة المعلمة المسماة

توضح الأمثلة التالية بعض حالات الاستخدام الشائعة للمعلمات.

إدراج تاريخ

يتضمن المثال التالي معلمة Date التي تقيد نتائج الاستعلام بالسجلات بعد تاريخ معين.


SELECT
  o_orderdate AS Date,
  o_orderpriority AS Priority,
  sum(o_totalprice) AS `Total Price`
FROM
  samples.tpch.orders
WHERE
  o_orderdate > :date_param
GROUP BY
  1,
  2

إدراج رقم

يتضمن المثال التالي معلمة رقم تقيد النتائج بالسجلات حيث o_total_price يكون الحقل أكبر من قيمة المعلمة المتوفرة.


SELECT
  o_orderdate AS Date,
  o_orderpriority AS Priority,
  o_totalprice AS Price
FROM
  samples.tpch.orders
WHERE
  o_totalprice > :num_param

إدراج اسم حقل

في المثال التالي، field_param يتم استخدام مع الدالة IDENTIFIER لتوفير قيمة حد للاستعلام في وقت التشغيل. يجب أن تكون قيمة المعلمة اسم عمود من الجدول المستخدم في الاستعلام.


SELECT
  *
FROM
  samples.tpch.orders
WHERE
  IDENTIFIER(:field_param) < 10000

إدراج كائنات قاعدة البيانات

ينشئ المثال التالي ثلاث معلمات: catalogو schemaو.table


SELECT
  *
FROM
  IDENTIFIER(:catalog || '.' || :schema || '.' || :table)

راجع عبارة IDENTIFIER.

تسلسل معلمات متعددة

يمكنك تضمين معلمات في وظائف SQL الأخرى. يسمح هذا المثال للعارض بتحديد عنوان موظف ومعرف رقم. يستخدم الاستعلام الدالة format_string لسلسلة السلاسل وتصفية الصفوف المتطابقة. راجع الدالة format_string.


SELECT
  o_orderkey,
  o_clerk
FROM
  samples.tpch.orders
WHERE
  o_clerk LIKE format_string('%s%s', :title, :emp_number)

العمل مع سلاسل JSON

يمكنك استخدام المعلمات لاستخراج سمة من سلسلة JSON. يستخدم المثال التالي الدالة from_json لتحويل سلسلة JSON إلى قيمة بنية. يؤدي استبدال السلسلة a كقيمة للمعلمة (param) إلى إرجاع السمة 1.

SELECT
  from_json('{"a": 1}', 'map<string, int>') [:param]

إنشاء فاصل زمني

INTERVAL يمثل النوع فترة زمنية ويسمح لك بإجراء العمليات الحسابية المستندة إلى الوقت. يتضمن المثال التالي المعلمة داخل دالة format_string ثم يتم تحويلها كنوع فاصل زمني. يمكن استخدام القيمة الناتجة INTERVAL للحسابات المستندة إلى الوقت أو التصفية في الاستعلام.

راجع نوع الفاصل الزمني للحصول على التفاصيل الكاملة وبناء الجملة.

SELECT CAST(format_string("INTERVAL '%s' MINUTE", :param) AS INTERVAL MINUTE)

إضافة نطاق تاريخ

يوضح المثال التالي كيفية إضافة نطاق تاريخ محدد المعلمات لتحديد السجلات في إطار زمني معين.

SELECT * FROM samples.nyctaxi.trips
WHERE tpep_pickup_datetime
BETWEEN :start_date AND :end_date

تحديد معلمات مجموعة التحديثات حسب اليوم أو الشهر أو السنة

يجمع المثال التالي بيانات رحلة سيارات الأجرة على مستوى ذو معلمات من الدقة. تقتطع DATE_TRUNC الدالة tpep_pickup_datetime القيمة استنادا إلى قيمة المعلمة:date_granularity، مثل DAYأو MONTHأو .YEAR يتم الاسم المستعار للتاريخ المقتطع كما date_rollup ويستخدم في GROUP BY عبارة .

SELECT DATE_TRUNC(:date_granularity, tpep_pickup_datetime) AS
  date_rollup,
  COUNT(*) AS total_trips
FROM samples.nyctaxi.trips
GROUP BY date_rollup

استخدام قيم متعددة في استعلام واحد

يستخدم المثال التالي الدالة ARRAY_CONTAINS لتصفية قائمة القيم. TRANSFORMتسمح الدالات و SPLIT بتمرير قيم متعددة مفصولة بفواصل كمعلمة سلسلة.

:list_parameter تأخذ القيمة قائمة بالقيم المفصولة بفواصل. تقوم SPLIT الدالة بتحليل تلك القائمة، وتقسيم القيم المفصولة بفواصل إلى صفيف. تحول TRANSFORM الدالة كل عنصر في الصفيف عن طريق إزالة أي مسافة بيضاء. تتحقق الدالة dropoff_zip مما إذا كانت القيمة من trips الجدول مضمنة في صفيف القيم التي تم تمريرها ك list_parameter.ARRAY_CONTAINS


SELECT * FROM samples.nyctaxi.trips WHERE
  array_contains(
    TRANSFORM(SPLIT(:list_parameter, ','), s -> TRIM(s)),
    dropoff_zip
  )

إشعار

يعمل هذا المثال لقيم السلسلة. لتعديل الاستعلام لأنواع البيانات الأخرى، مثل قائمة الأعداد الصحيحة، قم بتضمين TRANSFORM العملية بعملية CAST لتحويل قيم السلسلة إلى نوع البيانات المطلوب.

تغييرات بناء الجملة

يعرض الجدول التالي حالات الاستخدام الشائعة للمعلمات، وبناء جملة شارب Databricks SQL الأصلي، وبناء الجملة المكافئ باستخدام بناء جملة علامة المعلمة المسماة.

حالة استخدام المعلمة بناء جملة معلمة الشارب بناء جملة علامة المعلمة المسماة
تحميل البيانات فقط قبل تاريخ محدد WHERE date_field < '{{date_param}}'

يجب تضمين علامات الاقتباس حول معلمة التاريخ والأقواس المتعرجة.
WHERE date_field < :date_param
تحميل بيانات أقل من قيمة رقمية محددة فقط WHERE price < {{max_price}} WHERE price < :max_price
مقارنة سلسلتين WHERE region = {{region_param}} WHERE region = :region_param
تحديد الجدول المستخدم في استعلام SELECT * FROM {{table_name}} SELECT * FROM IDENTIFIER(:table)

عندما يدخل المستخدم هذه المعلمة، يجب أن يستخدم مساحة الاسم الكاملة المكونة من ثلاثة مستويات لتعريف الجدول.
تحديد الكتالوج والمخطط والجدول المستخدم في استعلام بشكل مستقل SELECT * FROM {{catalog}}.{{schema}}.{{table}} SELECT * FROM IDENTIFIER(:catalog \|\| '.' \|\| :schema \|\| '.' \|\| :table)
استخدام المعلمات كقالب في سلسلة أطول منسقة "({{area_code}}) {{phone_number}}"

يتم تسلسل قيم المعلمات تلقائيا كسلسلة.
format_string("(٪d)٪d, :area_code, :p hone_number)

راجع تسلسل معلمات متعددة للحصول على مثال كامل.
إنشاء فاصل زمني SELECT INTERVAL {{p}} MINUTE SELECT CAST(format_string("INTERVAL '%s' MINUTE", :param) AS INTERVAL MINUTE)

بناء جملة معلمة الشارب

هام

تنطبق الأقسام التالية على بناء جملة الاستعلام الذي يمكنك استخدامه في محرر SQL فقط. وهذا يعني أنه إذا قمت بنسخ استعلام ولصقه باستخدام بناء الجملة هذا في أي واجهة Azure Databricks أخرى، مثل دفتر ملاحظات أو محرر مجموعة بيانات لوحة معلومات الذكاء الاصطناعي/BI، يجب تعديل الاستعلام يدويا لاستخدام علامات المعلمات المسماة قبل تشغيله دون خطأ.

في محرر SQL، يتم التعامل مع أي سلسلة بين الأقواس {{ }} المتعرجة المزدوجة كمعلمة استعلام. يظهر عنصر واجهة المستخدم أعلى جزء النتائج حيث تقوم بتعيين قيمة المعلمة. بينما توصي Azure Databricks بشكل عام باستخدام علامات المعلمات المسماة، يتم دعم بعض الوظائف فقط باستخدام بناء جملة معلمة الشارب.

استخدم بناء جملة معلمة الشارب للوظائف التالية:

إضافة معلمة شارب

  1. اكتبCmd + I. يتم إدراج المعلمة في علامة إقصاص النص ويظهر مربع الحوار إضافة معلمة .
    • الكلمة الأساسية: الكلمة الأساسية التي تمثل المعلمة في الاستعلام.
    • العنوان: العنوان الذي يظهر فوق عنصر واجهة المستخدم. بشكل افتراضي، يكون العنوان هو نفس الكلمة الأساسية.
    • النوع: الأنواع المدعومة هي النص والرقم والتاريخ والتاريخ والوقت والتاريخ والوقت (بالثوان) والقائمة المنسدلة والقائمة المنسدلة المستندة إلى الاستعلام. الإعداد الافتراضي هو Text.
  2. أدخل الكلمة الأساسية، وتجاوز العنوان اختياريا، وحدد نوع المعلمة.
  3. انقر فوق إضافة معلمة.
  4. في عنصر واجهة مستخدم المعلمة، قم بتعيين قيمة المعلمة.
  5. انقر على Apply Changes.
  6. انقر فوق حفظ.

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

لإعادة تشغيل الاستعلام بقيمة معلمة مختلفة، أدخل القيمة في عنصر واجهة المستخدم وانقر فوق تطبيق التغييرات.

تحرير معلمة استعلام

لتحرير معلمة، انقر فوق أيقونة الترس بجانب عنصر واجهة مستخدم المعلمة. لمنع المستخدمين الذين لا يمتلكون الاستعلام من تغيير المعلمة، انقر فوق إظهار النتائج فقط. <Keyword> يظهر مربع حوار المعلمة.

إزالة معلمة استعلام

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

تغيير ترتيب المعلمات

لتغيير الترتيب الذي يتم به عرض المعلمات، يمكنك النقر فوق كل معلمة وسحبها إلى الموضع المطلوب.

أنواع معلمات الاستعلام

النص

يأخذ سلسلة كمدخل. يتم إلغاء علامات الاقتباس المائلة المائلة والفردية والمزدوجة، ويضيف Azure Databricks علامات اقتباس إلى هذه المعلمة. على سبيل المثال، يتم تحويل سلسلة مثل mr's Li"s إلى 'mr\'s Li\"s' مثال على استخدام هذا يمكن أن يكون

SELECT * FROM users WHERE name={{ text_param }}

الرقم‬

يأخذ رقما كمدخل له. مثال على استخدام هذا يمكن أن يكون

SELECT * FROM users WHERE age={{ number_param }}

لتقييد نطاق قيم المعلمات المحتملة عند تشغيل استعلام، استخدم نوع معلمة القائمة المنسدلة. مثال على ذلك هو SELECT * FROM users WHERE name='{{ dropdown_param }}'. عند تحديده من لوحة إعدادات المعلمة، يظهر مربع نص حيث تقوم بإدخال القيم المسموح بها، كل قيمة مفصولة بخط جديد. القوائم المنسدلة هي معلمات نصية. لاستخدام التواريخ أو التواريخ والأوقات في القائمة المنسدلة، أدخلها بالتنسيق الذي يتطلبه مصدر البيانات. لا يتم إلغاء السلاسل. يمكنك الاختيار بين قائمة منسدلة ذات قيمة واحدة أو متعددة القيم.

  • قيمة واحدة: علامات اقتباس مفردة حول المعلمة مطلوبة.
  • متعدد القيم: قم بتبديل الخيار السماح بقيم متعددة. في القائمة المنسدلة اقتباس، اختر ما إذا كنت تريد ترك المعلمات كما تم إدخالها (بدون علامات اقتباس) أو تضمين المعلمات بعلامات اقتباس مفردة أو مزدوجة. لا تحتاج إلى إضافة علامات اقتباس حول المعلمة إذا اخترت علامات اقتباس.

WHERE غير عبارة لاستخدام IN الكلمة الأساسية في الاستعلام.

SELECT ...
FROM   ...
WHERE field IN ( {{ Multi Select Parameter }} )

يتيح لك عنصر واجهة المستخدم متعدد التحديد تمرير قيم متعددة إلى قاعدة البيانات. إذا حددت الخيار علامة الاقتباس المزدوجة لمعلمة الاقتباس، فإن الاستعلام يعكس التنسيق التالي:WHERE IN ("value1", "value2", "value3")

القائمة المنسدلة المستندة إلى الاستعلام

يأخذ نتيجة استعلام كمدخل له. له نفس سلوك معلمة القائمة المنسدلة. يجب حفظ استعلام القائمة المنسدلة Databricks SQL لاستخدامه كمدخل في استعلام آخر.

  1. انقر فوق القائمة المنسدلة المستندة إلى الاستعلام ضمن النوع في لوحة الإعدادات.
  2. انقر فوق الحقل Query وحدد استعلاما. إذا أرجع الاستعلام الهدف عددا كبيرا من السجلات، فسيتدهور الأداء.

إذا كان الاستعلام الهدف يرجع أكثر من عمود واحد، فإن Databricks SQL يستخدم العمود الأول . إذا كان الاستعلام الهدف يرجع name والأعمدةvalue، فإن Databricks SQL يملأ عنصر واجهة مستخدم تحديد المعلمة بالعمود name ولكنه ينفذ الاستعلام مع المقترن .value

على سبيل المثال، افترض أن الاستعلام التالي يرجع البيانات الموجودة في الجدول.

SELECT user_uuid AS 'value', username AS 'name'
FROM users
قيمة الاسم
1001 جون سميث
1002 جين دو
1003 جداول بوبي

عندما يقوم Azure Databricks بتشغيل الاستعلام، ستكون القيمة التي تم تمريرها إلى قاعدة البيانات هي 1001 أو 1002 أو 1003.

التاريخ والوقت

يحتوي Azure Databricks على العديد من الخيارات لتحديد معلمات قيم التاريخ والطوابع الزمنية، بما في ذلك خيارات لتبسيط تحديد معلمات النطاقات الزمنية. حدد من بين ثلاثة خيارات ذات دقة متفاوتة:

خيار الدقة نوع
التاريخ‬ من الأيام DATE
التاريخ والوقت دقيقة TIMESTAMP
التاريخ والوقت (بالثوان) second TIMESTAMP

عند اختيار خيار معلمة النطاق ، يمكنك إنشاء معلمتين معينتين بواسطة .start ولاحقات .end . تمرر جميع الخيارات المعلمات إلى الاستعلام الخاص بك كسلسلة حرفية؛ يتطلب Azure Databricks أن تقوم بتضمين قيم التاريخ والوقت بعلامات اقتباس مفردة ('). على سبيل المثال:

-- Date parameter
SELECT *
FROM usage_logs
WHERE date = '{{ date_param }}'

-- Date and Time Range parameter
SELECT *
FROM usage_logs
WHERE modified_time > '{{ date_range.start }}' and modified_time < '{{ date_range.end }}'

تستخدم معلمات التاريخ واجهة انتقاء التقويم والإعداد الافتراضي للتاريخ والوقت الحاليين.

إشعار

ترجع المعلمة "نطاق التاريخ" النتائج الصحيحة للأعمدة من DATE النوع فقط. بالنسبة للأعمدة TIMESTAMP ، استخدم أحد خيارات "النطاق الزمني والتاريخ".

قيم نطاق التاريخ والتاريخ الديناميكية

عند إضافة معلمة نطاق تاريخ أو تاريخ إلى استعلامك، يعرض عنصر واجهة مستخدم التحديد أيقونة البرق الأزرق. انقر فوقه لعرض القيم الديناميكية مثل todayأو yesterdayأو last weekthis weeklast month.last year يتم تحديث هذه القيم ديناميكيا.

هام

لا تتوافق التواريخ الديناميكية ونطاقات التواريخ مع الاستعلامات المجدولة.

استخدام معلمات الاستعلام في لوحات المعلومات

اختياريا، يمكن للاستعلامات استخدام المعلمات أو القيم الثابتة. عند إضافة مرئيات تستند إلى استعلام معلمات إلى لوحة معلومات، يمكن تكوين المرئيات لاستخدام إما:

  • معلمة عنصر واجهة المستخدم

    معلمات عنصر واجهة المستخدم خاصة بمرئيات واحدة في لوحة معلومات، وتظهر في لوحة المرئيات، وتنطبق قيم المعلمات المحددة فقط على الاستعلام الأساسي للتصور.

  • معلمة لوحة المعلومات

    يمكن تطبيق معلمات لوحة المعلومات على مرئيات متعددة. عند إضافة مرئيات استنادا إلى استعلام معلمات إلى لوحة معلومات، ستتم إضافة المعلمة كمعلمة لوحة معلومات بشكل افتراضي. يتم تكوين معلمات لوحة المعلومات لمرئيات واحدة أو أكثر في لوحة المعلومات وتظهر في أعلى لوحة المعلومات. تنطبق قيم المعلمات المحددة لمعلمة لوحة المعلومات على المرئيات التي تعيد استخدام معلمة لوحة المعلومات المعينة هذه. يمكن أن تحتوي لوحة المعلومات على معلمات متعددة، يمكن تطبيق كل منها على بعض المرئيات وليس على غيرها.

  • القيمة الثابتة

    يتم استخدام القيم الثابتة بدلا من معلمة تستجيب للتغييرات. تسمح لك القيم الثابتة بتكوين قيمة بدلا من معلمة. تجعل المعلمة "تختفي" من لوحة المعلومات أو عنصر واجهة المستخدم حيث ظهرت سابقا.

عند إضافة مرئيات تحتوي على استعلام ذو معلمات، يمكنك اختيار العنوان والمصدر للمعلمة في استعلام المرئيات بالنقر فوق أيقونة القلم الرصاص المناسبة. يمكنك أيضا تحديد الكلمة الأساسية والقيمة الافتراضية. راجع خصائص المعلمة.

بعد إضافة مرئيات إلى لوحة معلومات، قم بالوصول إلى واجهة تعيين المعلمة بالنقر فوق قائمة kebab في الجزء العلوي الأيسر من عنصر واجهة مستخدم لوحة المعلومات ثم النقر فوق تغيير إعدادات عنصر واجهة المستخدم.

خصائص المعلمات

  • العنوان: اسم العرض الذي يظهر بجانب محدد القيمة في لوحة المعلومات. يتم تعيينها افتراضيا إلى المعلمة الكلمة الأساسية. لتحريره، انقر فوق أيقونة أيقونة القلم الرصاصالقلم الرصاص . لا يتم عرض العناوين لمعلمات لوحة المعلومات الثابتة لأن محدد القيمة مخفي. إذا قمت بتحديد قيمة ثابتة كمصدر قيمة، يكون حقل العنوان رمادي اللون.

  • الكلمة الأساسية: قيمة السلسلة الحرفية لهذه المعلمة في الاستعلام الأساسي. يعد هذا مفيدا لتصحيح الأخطاء إذا لم ترجع لوحة المعلومات النتائج المتوقعة.

  • القيمة الافتراضية: القيمة المستخدمة إذا لم يتم تحديد قيمة أخرى. لتغيير ذلك من شاشة الاستعلام، قم بتشغيل الاستعلام بقيمة المعلمة المطلوبة وانقر فوق الزر حفظ .

  • مصدر القيمة: مصدر قيمة المعلمة. انقر فوق أيقونة أيقونة القلم الرصاص القلم الرصاص لاختيار مصدر.

    • معلمة لوحة المعلومات الجديدة: إنشاء معلمة جديدة على مستوى لوحة المعلومات. يتيح لك هذا تعيين قيمة معلمة في مكان واحد على لوحة المعلومات وتعيينها إلى مرئيات متعددة.
    • معلمة لوحة المعلومات الموجودة: تعيين معلمة إلى معلمة لوحة معلومات موجودة. يجب تحديد معلمة لوحة المعلومات الموجودة مسبقا.
    • معلمة عنصر واجهة المستخدم: تعرض محدد قيمة داخل عنصر واجهة مستخدم لوحة المعلومات. هذا مفيد للمعلمات لمرة واحدة التي لا تتم مشاركتها بين عناصر واجهة المستخدم.
    • القيمة الثابتة: اختر قيمة ثابتة لعن طريق واجهة المستخدم، بغض النظر عن القيم المستخدمة في عناصر واجهة المستخدم الأخرى. لا تعرض قيم المعلمات المعينة بشكل ثابت محدد قيمة في أي مكان على لوحة المعلومات، وهي أكثر ضغطا. يتيح لك هذا الاستفادة من مرونة معلمات الاستعلام دون الفوضى في واجهة المستخدم على لوحة معلومات عندما لا يتوقع أن تتغير معلمات معينة بشكل متكرر.

    تغيير تعيين المعلمة

الأسئلة المتداولة (FAQ)

هل يمكنني إعادة استخدام نفس المعلمة عدة مرات في استعلام واحد؟

نعم. استخدم نفس المعرف في الأقواس المتعرجة. يستخدم هذا المثال المعلمة {{org_id}} مرتين.

SELECT {{org_id}}, count(0)
FROM queries
WHERE org_id = {{org_id}}

هل يمكنني استخدام معلمات متعددة في استعلام واحد؟

نعم. استخدم اسما فريدا لكل معلمة. يستخدم هذا المثال معلمتين: {{org_id}} و {{start_date}}.

SELECT count(0)
FROM queries
WHERE org_id = {{org_id}} AND created_at > '{{start_date}}'