Logo ar.removalsclassifieds.com

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

جدول المحتويات:

Anonim

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

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

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

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

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

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

معلمات المقارنة

إجراء مخزن

دور

متطلبات معلمة الإدخال والإخراج معلمة الإدخال
نتيجة قيم متعددة كبيرة نتيجة واحدة
تحتج به لا أحد الإجراء المخزن
حجم قيمة الإرجاع 1024 رقمًا رقم واحد
احتمالية المخرجات معتدل متوسط
تعديل البيانات نعم رقم

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

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

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

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

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

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

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

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

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

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

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

استنتاج

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

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

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

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

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