(store procedure) sql الإجراءات المخزنة في

07/10/2020 database, line, Technical, web-dev

الاجراءات المخزنة في sql او مايسمى ب store procedure مهمة جدآ في عالم برمجة قواعد البيانات كما انها سهلة الانشاء وسهلة البناء
#التعريف : هي عبارة عن اجراء معين تقوم بممهمة معينة او هي عبارة عن مجموعة من الاوامر تقوم بمهمة معينة مثل حساب نسبة ضريبة المبيعات – الارباح الشهرية – مستحقات موظف وهكذا
يستطيع المبرمج الاستغناء عن الاجراءات المخزنة وينفذ المطلوب بدون استخدام الاجراءات المخزنة لكن المبرمج الاكثر احترافآ هو الذي يحسب للوقت الف حساب فيتجنب اهدار المزيد من الوقت والجهد بالقيام ببناء اجراء مخزن لتنفيذ عملية معينة يستدعيها متى شاء ليوفر على نفسه الجهد لكتابة الاوامر من جديد
ربما احتاج الى حساب نسبة الضريبة اكثر من مرة في البرنامج واستطيع تكرار الكود هذا الامر يبدو مجهدآ بالفعل سوف اتجنب هذا الاجهاد ببناء اجراء يقوم بحساب نسبة الضريبة مرة واحدة واستدعيه اكثر من مرة واجنب نفسي اهدار جهدي واهدار مساحة في الذاكرة العشوائية فانت كلما اجهدت نفسك بتكرار الكود يعتبر هذا اجهاد ايضآ للكمبيوتر لذلك تم اختراع مايسمى بالاجراءات والدوال
نفس الحال هو في sql يمكنك بناء اجراء وتخزنه في sql وتستدعيه وقتما شئت …
#بنيةالاجراءالمخزن : سنتعرف الان على كيفية بناء الاجراء المخزن
تاتي بنية الاجراء المخزن بالشكل التالي :

Create procedure <procedure_Name>
As
Begin
<SQL Statement>
End Go

في البداية نكتب Create procedure وهذا لاعطاء امر ل sql لانشاء اجراء مخزن يلي ذلك <procedure_Name> وهو اسم الاجراء
في السطر التالي ستجد الامر AS وهو يرمز الى بداية الاجراء
يلي ذلك التعبير <SQL Statement> وهو امر ال select الذي سيتم بناءه داخل الاجراء وهذا يسمى جسم البرنامج
اما Begin و End Go فهي بداية الاجراء ونهايته

#مثال
لنفترض ان لدينا جدول الموظفين EmP ويحتوي على التالي
رقم الموظف – اسم الموظف – االراتب – البدلات :

Emp table
Emp_no : emp_name : salary : Allowances
E1 : khaled : 1000 : 150
E2 : omer : 1200 : 170

لنفترض اننا نريد انشاء اجراء مخزن اسمه total يقوم بحساب الاجمالي
الراتب + البدلات (salary+Allowances) لجميع الموظفين هنا سيكون شكل الاجراء كالتالي :

CREATE PROCEDURE total
AS
SELECT [salary+Allowances] FROM Emp
GO

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

EXEC total ;

اي قم بتنفيذ واستدعاء الاجراء total
سيكون هناك دروس اخرى وتطبيقات في الاجراءات المخزنة store procedure

sql المستويات المتقدمة في لغة
SQL Server 2008 كتاب خطوة خطوة نحو
ADO.net التعامل مع قواعد البیانات بأستخدام مكتبات
في لازاروس SQLite برمجة قواعد بيانات
درس في كيفية التعامل مع قواعد البيانات بشكل برمجي
الجدار الناري ببساطة
NTFS & FAT الفرق بين نظام الملفات
abstract class ما هو ال
Mysql أنواع البيانات في
ما هو الفرق بين معالجات 32-بت و 64-بت ؟
ما هو الفرق بين القراصنة و الكراكرز ؟
SQL في inner join شرح ال
تحديث أندرويد أوريو يعطل هاتفك الذكي جالكسي نوت 8