الفرق بين المؤشر الصريح والمؤشر الضمني
المؤشر الصريح مقابل المؤشر الضمني
عندما يتعلق الأمر بقواعد البيانات، فإن المؤشر عبارة عن بنية تحكم تسمح بالتجاوز على السجلات في قاعدة البيانات. يوفر المؤشر آلية لتعيين اسم إلى عبارة تحديد سكل ثم يمكن استخدامه لمعالجة المعلومات ضمن عبارة سكل هذه. يتم إنشاء المؤشرات الضمنية تلقائيا واستخدامها في كل مرة يتم إصدار عبارة تحديد في بل / سكل، عندما لا يكون هناك مؤشر محدد صراحة. المؤشرات الصريحة، كما يوحي اسمها، يتم تعريفها صراحة من قبل المطور. في بل / سكل مؤشر واضح هو في الواقع استعلام اسمه المعرفة باستخدام مؤشر كلمة المفتاح.
ما المقصود بالمؤشر الضمني؟
يتم إنشاء المؤشرات الضمنية واستخدامها تلقائيا من قبل أوراكل في كل مرة يتم فيها إصدار عبارة محددة. في حالة استخدام مؤشر ضمني، سيقوم نظام إدارة قاعدة البيانات (دبمس) بإجراء عمليات الجلب المفتوحة والإحضار والإغلاق تلقائيا. يجب استخدام المؤشرات الضمنية فقط مع عبارات سكل التي تقوم بإرجاع صف واحد. إذا كان عبارة سكل بإرجاع أكثر من صف واحد، باستخدام مؤشر ضمني سيعرض خطأ. يتم ربط المؤشر الضمني تلقائيا مع كل عبارات معالجة بيانات اللغة (دمل)، وهي عبارة إنزيرت و أوبديت و ديليت. أيضا، يتم استخدام مؤشر ضمني لمعالجة سيليكت إنتو البيانات. عند جلب البيانات باستخدام المؤشرات الضمنية لا يمكن رفع استثناء NO_DATA_FOUND عندما تعيد عبارة سكل أي بيانات. وعلاوة على ذلك، يمكن للمؤشرات الضمنية رفع استثناءات TO_MANY_ROWS عندما تقوم جملة سكل بإرجاع أكثر من صف واحد.
ما هو المؤشر الصريح؟
كما ذكر سابقا، المؤشرات الصريحة هي الاستعلامات المعرفة باستخدام اسم. يمكن اعتبار المؤشر الصريح كمؤشر إلى مجموعة من السجلات ويمكن نقل المؤشر إلى الأمام ضمن مجموعة السجلات. توفر المؤشرات الصريحة للمستخدم السيطرة الكاملة على فتح وإغلاق وجلب البيانات. أيضا، يمكن جلب صفوف متعددة باستخدام مؤشر صريح. يمكن للمؤشرات الصريحة أيضا أن تأخذ معلمات تماما مثل أي وظيفة أو إجراء بحيث يمكن تغيير المتغيرات في المؤشر في كل مرة يتم تنفيذها. بالإضافة إلى ذلك، تسمح لك المؤشرات الصريحة بجلب صف كامل في متغير سجل بل / سكل. عند استخدام مؤشر صريح، أولا يجب أن يتم الإعلان باستخدام اسم. يمكن الوصول إلى سمات المؤشر باستخدام الاسم المعطى للمؤشر. بعد الإعلان، يجب فتح المؤشر أولا. ثم يمكن بدء الجلب. في حالة الحاجة إلى جلب عدة صفوف، يجب إجراء عملية الجلب داخل حلقة. وأخيرا، يجب إغلاق المؤشر.
الفرق بين المؤشر الصريح والمؤشر الضمني
والفرق الرئيسي بين المؤشر الضمني والمؤشر الصريح هو أن المؤشر الصريح يحتاج إلى تعريف صريح من خلال توفير اسم بينما يتم إنشاء المؤشرات الضمنية تلقائيا عند إصدار بيان تحديد.وعلاوة على ذلك، يمكن جلب صفوف متعددة باستخدام مؤشرات واضحة بينما مؤشرات ضمنية يمكن أن تجلب سوى صف واحد. كما لا يتم طرح استثناءات NO_DATA_FOUND و TO_MANY_ROWS عند استخدام مؤشرات صريحة، بدلا من المؤشرات الضمنية. في جوهرها، تكون المؤشرات الضمنية أكثر عرضة لأخطاء البيانات وتوفر تحكم أقل للبرمجة من المؤشرات الصريحة. أيضا، تعتبر المؤشرات الضمنية أقل كفاءة من المؤشرات الصريحة.