الإجراء المخزن مقابل الوظيفة: الفرق والمقارنة

الإجراءات والوظائف المخزنة لها خصائص مختلفة. لديهم قيود معينة ، والنتيجة مختلفة في كلتا الحالتين. يحتاج الإجراء المخزن إلى معلمات الإدخال والإخراج ، ولكن ليست هناك حاجة لمعلمات الإخراج في الوظيفة.

يمكن استدعاء الوظيفة باستخدام إجراء مخزن ، لكن الطريقة المعاكسة غير ممكنة.

الوجبات السريعة الرئيسية

  1. تؤدي الإجراءات المخزنة إجراءات داخل قاعدة بيانات ويمكنها إرجاع قيم متعددة كمعلمات إخراج.
  2. ترجع الدالات قيمة واحدة ويمكن استخدامها ضمن جمل SQL كتعبيرات.
  3. يمكن للإجراءات المخزنة تعديل بيانات قاعدة البيانات، بينما تكون الوظائف للقراءة فقط.

الإجراء المخزن مقابل الوظيفة

الفرق بين الإجراء المخزن والوظيفة هو أن الوظيفة ستعطي دائمًا الإخراج ، لكن الإجراء المخزن قد لا ينتج عنه أحيانًا أي نتيجة. يجب ذكر معلومات الإدخال والإخراج في "الإجراء المخزن" ، ولكنها ليست كذلك في الوظيفة. الوظيفة تحتاج فقط إلى معلمة إدخال. يمكن أن ينتج عن إجراء مخزن قيمة كبيرة يمكن أن تصل إلى 1024 قيمة ، لكن الدالة سترجع قيمة معينة واحدة فقط.

الإجراء المخزن مقابل الوظيفة

عادة ما يتم استدعاء الإجراءات المخزنة بشكل مستقل. يساعد الأمر execute في استدعاء الإجراء المخزن بشكل مستقل. لا يمكن استدعاء هذا من الوظائف. يساعد على استدعاء الوظائف.

يمكن استدعاء الوظائف من الإجراء المخزن. يمكن للإجراء المخزن إرجاع 1024 قيمة كنتيجة.

لا تحتاج الوظيفة إلى أي معلمة إخراج محددة. يتطلب فقط معلمات الإدخال لإنتاج النتيجة. لا تستدعي نتائج متعددة. بل ينتج عنه نتيجة واحدة فقط.

يمكن كتابة الوظيفة وتضمينها في عبارة SELECT. ستؤدي دائمًا إلى النتيجة. النتيجة هي قيمة واحدة فقط وقيمة معينة.

اقرأ أيضا:  Git vs Bitbucket: الفرق والمقارنة

جدول المقارنة

معلمات المقارنةإجراء مخزنالوظيفة
متطلبات الدراسة معلمة الإدخال والإخراجمعلمة الإدخال
نتيجةقيم متعددة كبيرةنتيجة واحدة
تحتج بهبدون سلوفانإجراء مخزّن
حجم قيمة الإرجاعأرقام 10241 أرقام
احتمالية المخرجاتمعتدلمرتفع
تعديل البياناتنعملا
قم بتثبيت هذا الآن لتتذكره لاحقًا
يعلق هذا

ما هو الإجراء المخزن؟

لا يعتمد تشغيل الإجراء المخزن على أي شيء. بل إنه يعمل بشكل مستقل وينتج النتيجة. يتم استخدامه لاستدعاء الوظائف.

يعتمد ذلك على ما إذا كان الإجراء المخزن سيؤدي إلى النتيجة أم لا. في بعض الأحيان لا توجد نتيجة ، وأحيانًا تكون هناك نتائج متعددة.

يحتاج الإجراء المخزن إلى معلمات الإدخال والإخراج للحصول على النتيجة. لا يمكن أن يعمل "الإجراء المخزن" في بعض الحالات ، مثل أنه لا يمكن أن يعمل في ظل وجود عبارات أو تحديد أو حيث.

يمكن تعديل البيانات المستخدمة في الوظيفة المخزنة في أي وقت. هذه كائنات تم تجميعها مسبقًا.

تم تجميع الكائنات المجمعة مسبقًا لأول مرة ، ويتذكر النظام تنسيق البيانات. تكون هذه التنسيقات مفيدة عندما يتم تجميع أشياء أخرى بواسطة المستخدمين.

القيم تتغير باستمرار. يمكن أن تكون النتيجة قيمة كبيرة جدًا أو قيمة صغيرة وأحيانًا لا قيمة لها على الإطلاق.

يؤدي هذا إلى تقليل حركة مرور الخادم لأنه يقلل استعلامات SQL إلى سطر صغير، مما يجعل النقل أسرع. حتى أنه يقلل من دورة التطوير.

يمكن إنجاز العمل في وقت قصير جدًا. يمكن استخدامه بسهولة من قبل العديد من المستخدمين لأنه إجراء مخزن.

الإجراء المخزن

ما هي الوظيفة؟

تنقسم الوظائف إلى فئتين وهي وظائف محددة من قبل المستخدم ووظائف مدمجة.

إن الوظائف المضمنة موجودة بالفعل في خادم SQL، في حين يتعين على المستخدمين الإعلان عن الوظائف المحددة من قبلهم في وظائف SQL. وهي تحتاج إلى معلمات إدخال، ولا توجد حاجة إلى معلمات إخراج.

اقرأ أيضا:  مهندس برمجيات مقابل مطور: الفرق والمقارنة

دائما ما ينتج قيمة معينة. يصبح تنفيذ الرموز أسرع باستخدام هذه الوظائف المعرفة من قبل المستخدم. التنسيقات موجودة بالفعل ، نظرًا لسهولة تجميع الرموز ، ولا توجد عملية تستغرق وقتًا طويلاً.

يصبح التنفيذ أسرع حيث يتم استخدام التنسيقات بشكل مستمر للتنفيذ.

لا توجد إمكانية لإرجاع قيمة فارغة. ستعيد دائمًا قيمة معينة. لا يمكن لهذه الوظائف استدعاء وظائف محددة من قبل المستخدم.

يمكن استدعاء الوظائف باستخدام عبارات التحديد في خادم SQL. في هذا النوع من الوظائف، يتم استخدام UDF في مجموعة النتائج ضمن جملة الربط.

لا يمكن للوظائف الاستفادة من كتل try-catch. لا يحتاج إلى معلمة إخراج لإنتاج النتيجة. لا توجد متطلبات لمعلمات الإخراج في الوظائف.

لا يمكن استخدام عبارات DML في SQL ، ولكن يمكن استخدام عبارات التحديد بسهولة في هذه الأنواع من الخوادم.

وظيفة

الاختلافات الرئيسية بين الإجراء المخزن والوظيفة

  1. يحتاج الإجراء المخزن إلى معلمات الإدخال والإخراج ، لكن الوظيفة تحتاج فقط إلى معلمة الإدخال.
  2. يُرجع الإجراء المخزن عدة نتائج ، لكن الدالة لا تُرجع أبدًا إجابات متعددة.
  3. لا يمكن استدعاء إجراء مخزن من الوظيفة ، ولكن يمكن استدعاء دالة من الإجراء المخزن.
  4. يمكن للإجراء المخزن إرجاع 1024 قيمة في وقت واحد ، لكن الدالة ستعطي قيمة واحدة فقط كنتيجة لذلك.
  5. لا يمكن للإجراء المخزن الإجابة في بعض الأحيان ، ولكن الوظيفة ستعطي دائمًا الإخراج.
  6. يمكن تعديل البيانات في الإجراء المخزن ولكن ليس في الوظيفة.
مراجع حسابات
  1. http://sutiawan.staff.gunadarma.ac.id/Downloads/files/32426/SQL+Server+2000+Stored+Procedure+Programming.pdf
  2. https://dl.acm.org/doi/abs/10.5555/1083592.1083734

طلب واحد؟

لقد بذلت الكثير من الجهد في كتابة منشور المدونة هذا لتقديم قيمة لك. سيكون مفيدًا جدًا بالنسبة لي ، إذا كنت تفكر في مشاركته على وسائل التواصل الاجتماعي أو مع أصدقائك / عائلتك. المشاركة هي ♥ ️

هل تريد حفظ هذه المقالة لوقت لاحق؟ انقر فوق القلب الموجود في الزاوية اليمنى السفلية للحفظ في مربع المقالات الخاصة بك!

نبذة عن الكاتب

شارا ياداف حاصلة على ماجستير في إدارة الأعمال في المالية. هدفها هو تبسيط الموضوعات المتعلقة بالتمويل. عملت في مجال التمويل لمدة 25 عامًا تقريبًا. وقد عقدت العديد من الفصول المالية والمصرفية لكليات الأعمال والمجتمعات. اقرأ المزيد عندها صفحة بيو.