انتقل إلى محتوى الدرس

Stored Function vs Procedure Table مقارنة الدوال والإجراءات المخزنة

تعلّم الدوال المخزنة والتنفيذ الحتمي DETERMINISTIC في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يوضح الجدول المقارن التالي الفروق الهندسية الدقيقة بين الدوال المخزنة (Stored Functions) والإجراءات المخزنة (Stored Procedures) في MySQL 8.4 لاختيار الأداة الأنسب لكل سيناريو:

وجه المقارنةالدالة المخزنة (Stored Function)الإجراء المخزن (Stored Procedure)
طريقة الاستدعاءتُستدعى داخل تعبيرات SELECT وWHERE وSET.يُستدعى بأمر مستقل CALL sp_name(args); فقط.
القيمة المُرجعةإلزامية: تعيد قيمة مفردة واحدة عبر RETURNS وRETURN.اختيارية: يعيد صفر أو أكثر من جداول النتائج أو معاملات OUT.
أنواع المعاملاتمعاملات إدخال فقط (بدون كتابة IN أو OUT).يدعم IN وOUT وINOUT بالكامل.
إرجاع جدول SELECTممنوع (تُستخدم SELECT ... INTO للمتغيرات فقط).مدعوم بالكامل لإرجاع مجموعات نتائج للتطبيق.
التصريح بـ DETERMINISTICإلزامي مع السجل الثنائي (أو تحديد READS SQL DATA / NO SQL).اختياري ولا يمنع السجل الثنائي إنشاء الإجراء.
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

تعلمت في هذا الدرس إنشاء الدوال المخزنة بـ CREATE FUNCTION، والتمييز بين RETURNS وRETURN، وضبط خصائص الحتمية DETERMINISTIC والوصول للبيانات READS SQL DATA وNO SQL، واستدعاء الدوال داخل جمل SELECT، ومقارنتها بالإجراءات المخزنة.

الخطوة التالية والدرس القادم

في الدرس القادم سنتعرف على المشغلات التلقائية (Triggers) التي تعمل تلقائياً عند تعديل الصفوف، والأحداث المجدولة (Scheduled Events) لأتمتة مهام الصيانة الدورية في الخلفية.