المحتوى
يحدث خطأ Oracle PL / SQL 955 ، والمعروف باسم ORA-00955 ، عندما يقوم المستخدم بإنشاء كائن في قاعدة البيانات باسم قيد الاستخدام من قبل كائن موجود بالفعل ، مثل الجدول أو العرض أو الفهرس أو المرادف أو المجموعة. إعطاء الكائن اسم مختلف يحل الخطأ.
ORA-00955 هو خطأ استثناء يحدث مع اسم تم تعيينه بالفعل لكائن آخر (جستن سوليفان / غيتي إيماجز / غيتي إيماجز)
رسالة خطأ
مستخدم ينشئ كائنًا في سطر أوامر Oracle PL / SQL باسم معين ويتلقى الرسالة "اسم ORA-00955 قيد الاستخدام بالفعل من قبل كائن موجود".
الأسباب
يمكن أن تظهر رسالة الخطأ عندما يقوم المستخدم بتثبيت تحديث أو تشغيل برنامج نصي في Oracle PL / SQL يمحو أو ينشئ جداول أو فهارس أو يستخدم كلمة محجوزة لكائن معرف بواسطة النظام. بشكل عام ، سيحاول المستخدم إنشاء كائن بالاسم المعين بالفعل لكائن آخر في قاعدة البيانات.
حل
يُنصح المستخدمون بتحديد اسم أو كائن آخر ، أو تعديل وإعادة تسمية كائن موجود للسماح باستخدام الاسم المطلوب. راجع DBA_OBJECTS أو USER_OBJECTS للتأكيد إذا كان لدى أي مستخدم آخر الاسم المستخدم.
تحقق أيضًا من الأسماء المستعارة والمرادفات العامة لمعرفة الاسم الحالي ، باستخدام العبارة التالية:
SELECT * FROM ALL_OBJECTS WHERE ObjectName = "NAME"؛
يحتوي الجدول ALL_OBJECTS على قائمة بجميع الكائنات التي يمكن للمستخدم الوصول إليها والمتاحة لمعرف تسجيل الدخول المحدد. لإعادة استخدام اسم ، احذف جميع الكائنات غير المرغوب فيها بنفس الاسم.
تجاهل الخطأ باستخدام معالجة الاستثناء
يمكن للمستخدمين تجاوز ORA-00955 عن طريق إنشاء معالج استثناء يتجاهل خطأ إنشاء الكائن. قم بإنشاء رمز PL / SQL لمعالجة الخطأ وتعيين "NULL" إلى حالته:
DECLARE MyNamedTableExists EXCEPTION؛ استثناء pragma (MyNamedTableExists ، -955) ؛ sql_stmt varchar2 (50): = 'إنشاء جدول tempstore (رقم col1)' ؛ تبدأ / تنفيذ sql_stmt الفوري ؛ / إنشاء جدول MyNamedTableExists كما حدد * من MySupposedTable؛ /+ تجاهل أخطاء ORA-955 إذا كان اسم الجدول موجودًا بالفعل) / استثناء عند MyNamedTableExists ثم NULL؛ END.