إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
لا يمكن حل معلمة عمود أو متغير أو روتين باسم <objectName> .
تحتوي فئة الخطأ هذه على فئات الخطأ المشتقة التالية.
WITHOUT_SUGGESTION
المعلمات
- objectName: اسم العمود أو المعلمة التي لا يمكن حلها.
WITH_SUGGESTION
هل تعني أحد ما يلي؟ [<proposal>]
المعلمات
- objectName: اسم العمود أو المعلمة التي لا يمكن حلها.
- الاقتراح: قائمة مفصولة بفواصل للمرشحين المحتملين.
الشرح
يثير Azure Databricks هذا الخطأ كلما تعذر عليه تحديد معرف في سياق حيث يتوقع عمودا أو اسما مستعارا للعمود أو معلمة دالة.
هناك عدة أسباب لهذا الخطأ:
- خطأ إملائي في اسم العمود أو اسم المعلمة.
- لقد قصدت بالفعل تحديد سلسلة حرفية، وليس معرفا.
- تمت إعادة تسمية العمود أو إسقاطه باستخدام ALTER TABLE
- لم يتم تضمين العمود في قائمة تحديد الاستعلام الفرعي.
- تمت إعادة تسمية العمود باستخدام الاسم المستعار للجدول أو الاسم المستعار للعمود.
- مرجع العمود مرتبط، ولم تحدد LATERAL.
- مرجع العمود هو إلى كائن غير مرئي لأنه يظهر سابقا في نفس قائمة التحديد أو ضمن الاستعلام الفرعي العددي.
التخفيف
يعتمد التخفيف من الخطأ على السبب:
هل التدقيق الإملائي للاسم والمؤهلات غير صحيح؟
قارن بالأعمدة المعروضة
objectListفي وقم بإصلاح التدقيق الإملائي.هل كنت تقصد تحديد سلسلة حرفية بدلا من ذلك؟
قم بإحاطة القيمة الحرفية بعلامات اقتباس مفردة، وليس علامات التجزئة الخلفية (علامة التمييز).
هل تم حذف العمود من الاستعلام الفرعي؟
أضف العمود إلى قائمة تحديد الاستعلام الفرعي.
هل تشير إلى عمود في علاقة سابقة في نفس العبارة من؟
LATERALأضف الكلمة الأساسية قبل الاستعلام الفرعي مع العمود الذي لم يتم حله. دعم الاستعلام المترابط محدود. قد تحتاج إلى إعادة كتابة الاستعلام (إلغاء ربطه).من غير الواضح سبب تعذر حل العمود أو الحقل؟
راجع عمود وحقل ومعلمة ودقة متغير للحصول على وصف مفصل حول تحليل الاسم.
الأمثلة
> CREATE OR REPLACE TEMPORARY VIEW colors(cyan, magenta, yellow) AS VALUES(10, 20, 5);
-- The column reference has been misspelled
> SELECT jello FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `jello` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT yellow FROM colors;
5
-- The qualifier has been misspelled
> SELECT color.yellow FROM colors;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `color`.`yellow` cannot be resolved.
Did you mean one of the following? [`colors`.`cyan`, `colors`.`yellow`, `colors`.`magenta`]
-- Correct the spelling
> SELECT colors.yellow FROM colors;
5
-- Forgot to quote a literal
> SELECT hello;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes
> SELECT 'hello';
-- Used the wrong quotes for a literal
> SELECT `hello`;
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `hello` cannot be resolved.
-- Use single quotes instead
> SELECT 'hello';
-- Column "got lost" in a subquery.
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta
FROM colors) AS c;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `yellow` cannot be resolved.
Did you mean one of the following? [`c`.`cyan`, `c`.`magenta`]
-- Add the missing column
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c;
10 20 5
-- Columns got renamed in the table alias
> SELECT cyan, magenta, yellow
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
Did you mean one of the following? [`c`.`c`, `c`.`m`, `c`.`y`];
-- Adjust the names
> SELECT c, m, y
FROM (SELECT cyan, magenta, yellow
FROM colors) AS c(c, m, y);
10 20 5
-- A correlated reference
> SELECT * FROM colors, (SELECT cyan + magenta + yellow AS total_use);
[UNRESOLVED_COLUMN.WITHOUT_SUGGESTION] A column or function parameter with name `cyan` cannot be resolved.
-- Add LATERAL to permit correation
> SELECT * FROM colors, LATERAL(SELECT cyan + magenta + yellow AS total_use);
10 20 5 35
-- Or de-correlate
> SELECT *, cyan + magenta + yellow AS total_use FROM colors;
10 20 5 35
-- A misspelled parameter name
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN arg1 + arg2;
[UNRESOLVED_COLUMN.WITH_SUGGESTION] A column or function parameter with name `arg1` cannot be resolved.
Did you mean one of the following? [`plus`.`a`, `plus`.`b`]
-- Fix the names
> CREATE OR REPLACE FUNCTION plus(a INT, b INT) RETURNS INT RETURN a + b;
> SELECT plus(1, 2);
3