الكلمات والمخططات المحجوزة
ينطبق على: التحقق من Databricks SQL Databricks Runtime
الكلمات المحجوزة هي كلمات حرفية تستخدمها لغة SQL ككلمات أساسية لا ينبغي استخدامها كمعرفات لتجنب السلوك غير المتوقع.
أسماء المخططات المحجوزة لها معنى خاص ل Azure Databricks.
الكلمات المحجوزة
لا يسمح Azure Databricks رسميا باستخدام أي قيم حرفية محددة كمعرفات.
ومع ذلك، لاستخدام أي من قائمة المعرفات التالية كاسم مستعار للجدول، يجب إحاطة الاسم بعلامات التجزئة الخلفية (').
- مكافحه
- عبر
- استثناء
- الكامل
- الداخليه
- تتقاطع
- الانضمام
- الجانبي
- اليسار
- ناقص
- الطبيعيه
- في
- الحق
- شبه
- الاتحاد
- استخدام
كلمات خاصة في التعبيرات
يمكن استخدام القائمة التالية من المعرفات في أي مكان، ولكن Azure Databricks يعاملها بشكل تفضيلي ككلمات أساسية داخل التعبيرات في سياقات معينة:
NULL
قيمة SQL
NULL
.DEFAULT
يشير إلى عمود افتراضي.
TRUE
القيمة المنطقية
true
SQL.FALSE
القيمة المنطقية
false
SQL.LATERAL
يستخدم كمصف عمود للإشارة إلى الارتباط الجانبي الصريح.
استخدم علامات التجزئة الخلفية (NULL
و DEFAULT
) أو قم بتأهيل أسماء الأعمدة باسم جدول أو اسم مستعار.
يستخدم Azure Databricks البادئة CURRENT_
للإشارة إلى بعض إعدادات التكوين أو متغيرات السياق الأخرى.
بادئة الشريط السفلي (_
) مخصصة لأعمدة Azure Databricks الزائفة.
في Databricks Runtime، العمود الزائف الموجود هو العمود _metadata.
لا يتم التعامل مع المعرفات ذات هذه البادئات بشكل تفضيلي. ومع ذلك، تجنب الأعمدة أو الأسماء المستعارة للعمود باستخدام هذه البادئات لتجنب السلوك غير المتوقع.
أسماء الكتالوجات المحجوزة
يحتفظ Azure Databricks بالقائمة التالية لأسماء الكتالوج للاستخدام الحالي أو المستقبلي:
- أسماء الكتالوجات التي تبدأ ب
SYS
- أسماء الكتالوجات التي تبدأ ب
DATABRICKS
تجنب استخدام هذه الأسماء.
أسماء المخططات المحجوزة
يحتفظ Azure Databricks بقائمة أسماء المخططات التالية للاستخدام الحالي أو المستقبلي:
BUILTIN
الاستخدام المستقبلي لتأهيل الدالات المضمنة.
SESSION
الاستخدام المستقبلي لتأهيل طرق العرض والوظائف المؤقتة.
INFORMATION_SCHEMA
يحتفظ بمخطط معلومات SQL Standard.
أسماء المخططات التي تبدأ ب
SYS
أوDATABRICKS
تجنب استخدام هذه الأسماء.
كلمات ANSI المحجوزة
لا يفرض Azure Databricks كلمات ANSI المحجوزة. يتم توفير القائمة التالية من الكلمات الأساسية SQL2016 لأغراض إعلامية فقط.
A
الكل، ALTER، و، ANY، ARRAY، AS، AT، التخويل
ب
بين، كليهما، حسب
ج
CASE، CAST، CHECK، COLLATE، COLUMN، COMMIT، CONSTRAINT، CREATE، CROSS، CUBE، CURRENT، CURRENT_DATE، CURRENT_TIME، CURRENT_TIMESTAMP، CURRENT_USER
د
حذف، وصف، مميز، إسقاط
ه
ELSE، END، ESCAPE، EXCEPT، EXISTS، EXTERNAL، EXTRACT
و
خطأ، إحضار، تصفية، ل، خارجي، من، كامل، دالة
ز
GLOBAL، GRANT، GROUP، GROUPING
ح
وجود
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
ي
الانضمام
L
بادئة، يسار، مثل، محلي
ن
طبيعي، لا، لا، خال
يا
من، تشغيل، فقط، أو، ترتيب، خارج، خارجي، تداخلات
ف
القسم، الموضع، الأساسي
R
النطاق والمراجع والإبطال واليمين والتراجع والمجموعة والصف والصفوف
S
SELECT, SESSION_USER, SET, SOME, START
تي
TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
يو
UNION، UNIQUE، UNKNOWN، UPDATE، USER، USING
الخامس
القيم
ث
متى، أين، نافذة، مع
امثله
-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));
> SELECT where from FROM where select;
1
-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
NULL 1 1
-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
FROM VALUES(1) AS T(current_date);
2021-10-23 1 2021-10-23
-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'
> SELECT * FROM VALUES(1) AS `ANTI`;
1