الجزء
ال18: الأجراء المخزن مع أخراج
قيمة معينة
Stored Procedure with Output Parameter
في الجزء ال17 تعلمنا كيفية انشاء
اجراء وتنفيذه واعطاءه قيمة له, وفي هذا الجزء سنتعلم كيفية استرجاع قيمة منه, بالأضافة
الى تعلم بعض اجراءات النظام المخزونة,
ربما يدور في بالك: في الجزء ال17
قمنا بأنشاء جمل استعلام داخل الأجراء وهي بالأساس تعمل على استرجاع بيانات؟! فما
الفرق بينها وبين القيم المسترجعة في هذا الجزء؟! الجواب القيم المسترجعة عبر الSELECT لا يمكن
استخدامها عبر اجراء اخر او داخل عملية معينة!, بينما في هذا الجزء سنتعلم كيفية
استرجاع قيمة معينة وتخزينها في متغير واستعمال هذا المتغير في اجراء اخر كقيمة
مدخلة, او لأستعمال تلك القيمة في عملية ما!.
مثال: اريد عمل اجراء معين لأسترجاع
عدد الموظفين الكلي وتخزين ذلك العدد في متغير؟!
CREATE PROC spGetEmployeeCount
@emp_total int
OUTPUT
AS
BEGIN
SELECT @emp_total = COUNT([ID])
FROM tblEmployees
END
في الأجراء اعلاه, المتغير @emp_total نوعه عدد, وتم تحديده كقيمة مخرجة عن طريق كلمة OUTPUT , وفي داخل
هذا المتغير سيحتوي على عدد الموظفين الكلي.
الأن لتنفيذ ذلك الأجراء يتوجب
اعلان متغير ونوعه , وبعدها استخدامه في تنفيذ الأجراء, وطبع ذلك المتغير:
DECLARE @emp_count INT
EXEC spGetEmployeeCount @emp_count OUTPUT
PRINT @emp_count
الحل:
اول شيء معرفة عدد الموظفين الكلي : سبق وفعلنا
ذلك في المثال اعلاه,
ثاني شيء: تقسيم الميزانية على عدد
الموظفين وبعدها طبع القيمة كالأتي:
بعض اجراءات النظام المخزنة:
· sp_help : يستخدم هذا الأجراء لأظهار
تفاصيل الكائن المحدد ك(Table,trigger,stored procedure,view) كالأتي:
· helptext : يستخدم هذا الأجراء لأظهار نص
الأجراء المخزن(stored procedure) كالأتي:
· sp_depends : يستخدم هذا
الأجراء لتحقق ما اذا كان الكائن المحدد له صلة بكائن اخر كالأتي:
Comments
Post a Comment