الفرق بين المؤشر الصريح والمؤشر الضمني

الفرق بين المؤشر الصريح والمؤشر الضمني
الفرق بين المؤشر الصريح والمؤشر الضمني

فيديو: الفرق بين المؤشر الصريح والمؤشر الضمني

فيديو: الفرق بين المؤشر الصريح والمؤشر الضمني
فيديو: انواع الجلبريك ( المقيد و شبه مقيد و غير مقيد ) #منوعات_تقنية 2024, شهر نوفمبر
Anonim

المؤشر الصريح مقابل المؤشر الضمني

عندما يتعلق الأمر بقواعد البيانات ، فإن المؤشر هو بنية تحكم تسمح بالمرور عبر السجلات في قاعدة البيانات. يوفر المؤشر آلية لتعيين اسم إلى جملة تحديد SQL ومن ثم يمكن استخدامه لمعالجة المعلومات داخل عبارة SQL هذه. يتم إنشاء المؤشرات الضمنية واستخدامها تلقائيًا في كل مرة يتم فيها إصدار عبارة Select في PL / SQL ، عندما لا يكون هناك مؤشر محدد بشكل واضح. يتم تعريف المؤشرات الصريحة ، كما يوحي الاسم ، بشكل صريح من قبل المطور. في PL / SQL ، المؤشر الصريح هو في الواقع استعلام مسمى معرف باستخدام مؤشر الكلمة الرئيسية.

ما هو المؤشر الضمني؟

يتم إنشاء المؤشرات الضمنية واستخدامها تلقائيًا بواسطة Oracle في كل مرة يتم فيها إصدار بيان التحديد. إذا تم استخدام مؤشر ضمني ، فسيقوم نظام إدارة قاعدة البيانات (DBMS) بتنفيذ عمليات الفتح والجلب والإغلاق تلقائيًا. يجب استخدام المؤشرات الضمنية فقط مع عبارات SQL التي تُرجع صفًا واحدًا. إذا أرجعت جملة SQL أكثر من صف واحد ، فإن استخدام مؤشر ضمني سيؤدي إلى حدوث خطأ. يرتبط المؤشر الضمني تلقائيًا بكل عبارات لغة معالجة البيانات (DML) ، أي عبارات INSERT و UPDATE و DELETE. أيضًا ، يتم استخدام مؤشر ضمني لمعالجة عبارات SELECT INTO. عند إحضار البيانات باستخدام المؤشرات الضمنية ، يمكن أن يظهر استثناء NO_DATA_FOUND عندما لا ترجع عبارة SQL أية بيانات. علاوة على ذلك ، يمكن للمؤشرات الضمنية رفع استثناءات TOO_MANY_ROWS عندما ترجع جملة SQL أكثر من صف واحد.

ما هو المؤشر الصريح؟

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

الفرق بين المؤشر الصريح والمؤشر الضمني

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

موصى به: