منتديات عالم المحتوى البرمجى - برامج - نت - العاب - فيديو - برمجة - تعليم - حماية- تطوير  
     

Left Nav التسجيل دليل المواقع قائمة الأعضاء التقويم البحث مشاركات اليوم اجعل كافة الأقسام مقروءة Right Nav

 

استرجاع كلمة المرور المفقودة طلب كود تنشيط العضوية تنشيط العضوية
العودة   منتديات عالم المحتوى البرمجى - برامج - نت - العاب - فيديو - برمجة - تعليم - حماية- تطوير > ¨¨¨°~*§¦§العـــــــام قواعد البيانات قسم §¦§*~°¨¨¨ > ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨
 
المجلة المنتديات العاب الاسكربتات دليل المواقع الكتب تابع المحتوى فيديو
¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ كل ما له علاقة بنظم Oracle من قواعد بيانات و لغات برمجة و غيرها من تكنولوجيا هذه الشركة

 اعلانات مساهمة فى دعم الموقع
 

 ملحوظة ادارية & عنوان موضوع
في حال وجود أي مواضيع او ردود مُخالفة من قبل الأعضاء ، يرجى الإبلاغ عنها فورا باستخدام أيقونة تقرير عن مشاركة ( تقرير عن مشاركة مخالفة ) ، و الموجودة أسفل كل مشاركة

PL/SQL لغة الأجرائات لبرمجة أوراكل

إنشاء موضوع جديد  إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1 (permalink)  
قديم 10-22-2006, 05:08 PM
الصورة الرمزية المحــ البرمجى ــتوى
مالك ومؤسس المحتوي البرمجي
 
من مواضيع :: المحــ البرمجى ــتوى
0 SunShop v4.0 سكربت التسوق, سكربت مميـز ذو خصائص عالمية
0 برنامج ماسنجر جووجل google العربي
0 دراسة مفصلة عن اقراص ساتا Sata
0 كيف يؤثر التبغ على رئتيك ، ما الذي لا توضحه إعلانات التبغ !
0 أنشودة روعة و مؤثرة (هم قتلوني)
0 Nokia E50,N95,N93,N92,N75,N73,N71,6290,6121,6120,6110 Themes - أجمل ثيمات الطبيعة
0 كيف نستخدم My.Computer.Network لرفع وتحميل ملفات في Visual Basic 2005
0 اسطوانة البرامج الاساسية الجديدة ( مصر بخير )

 
تاريخ التسجيل: Sep 2006
الدولة: مصر
العمر: 25
المشاركات: 6,033
المحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud ofالمحــ البرمجى ــتوى has much to be proud of
إرسال رسالة عبر مراسل MSN إلى المحــ البرمجى ــتوى إرسال رسالة عبر مراسل Yahoo إلى المحــ البرمجى ــتوى
Lightbulb PL/SQL لغة الأجرائات لبرمجة أوراكل

 

 

 

 

سوف نقوم بشرح هذا القسم على عدة دفعات أو دروس متفرقة بحيث يتمكن القارئ من فهم هذه اللغة جيدا لكي يتمكن من المواصلة في طريقه نحو باقي الدروس التي تعتمد كليا على هذه اللغة
قد يجد البعض صعوبة في فهم هذه الدروس ولكنها دروس حاولت قدر المستطاع أن أقوم بتسهيلها لكي يتم فهمها مع العلم أن الكثير لا يمكن لهم تعلمها وهذا سبب عدم إكمالهم المشوار في طريق أوراكل وأقول لمن يواجه صعوبات في لغة الإجراءات أو أي لغة برمجية أخرى في حال كنت تود أن تكون مبرمجا فيجب أن تملك مخيلة منطقية وخيال واسع وصبر بحيث أنك لن تحقق هدفك من أول درس ومن الممكن أن تتعدى المحاولات عشرات المرات دون جدوى ولكن قم بالمواصلة وسوف تكتشف فجاءة أنك أصبحت مبرمجا محترفا ويجب أن تأخذ في عين الاعتبار
أنك تتعامل مع آلة وأنت من يقوم بتسيريها
الكمبيوتر ليس أذكى منك أو أكثر قوة بل إنه جماد لا يعرف سوى الرقمين 0 و 1 وهو بذلك أكثر من أكثر مخلوقات الله أمية ولكن ما يتميز به عنا هو السرعة العالية في معالجة البيانات وإمكانيته للحفظ ودقته في التعامل حيث لا يوجد هناك مجال للخطاء فمن الممكن أن تقوم أحيانا أو في وقت من أوقات عمرك بحساب 1+1 = 3 ولكن هذا الجهاز لا يمكنه ذلك في حال زود في الطريقة الصحيحة
في حال قمت بتلقينه بمعلومات خاطئة فلا يمكنه تصحيحها تلقائيا دون أن تقوم أنت بإخباره كيف يقوم بذلك
ولذلك توكل على الله ولا تيئس فلا حياة مع اليأس و لا يئس مع الحياة



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

كيف يتم استخدام هذه الإجرائيات
يتم استخدام هذه الإجرائيات كا إجرائيات مخزنة داخل كائن داخل قاعدة البيانات لاستدعائها عن طريق جملة استعلام أو من الممكن أن نضعها كزناد يحدث عند حدوث أي عمل ما على جدول أو أي كائن مرتبط بهذا الزناد كما وأنك تحتاجها للقيام ببرمجة الديفلوبر في الواجهة الرسومية وهي كالأحداث الموجودة في لغة الفيجوال بيسك ولغة السكريبت فيقوم بتنفيذ إجراء معين يطلق عليه اسم الزناد عند حدوث أي حدث على قاعدة البيانات بشكل عام أو على أي كائن موجود في قاعدة البيانات وفي داخل الأدوات الموجودة في الديفلوبر كأداة الزر مثلا
كيف نقوم ببناء الإجرائية
يمكنك بناء الإجرائيات بعدة طرق منها عن طريق مستكشف أوراكل ولمعرفة ذلك قم بالنقر
هنا
ويمكنك ذلك عن طريق أداة مرفقة مع الديفلوبر تسمى
Procedure Builder – Line mode
أو عن طريق أداة رسومية أخرى تسمى
Procedure Builder
وهي ذات واجهة رسومية تقوم بتمكينك من تجربة الإجرائية ومعرفة الأخطاء وإصلاحها ولمعرفة كيف يمكن التعامل مع الإجرائية قم بالنقر
هنا
كما ويمكنك ذلك عن طريق محرر الاستعلامات

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

مثال
Function
Procedure
Function FunName Return Name is
Mm number;
Begin
Select * from emp;
Exception
End;
Procedure ProcName is
Mm number;
Begin
Select * from emp;
Exception
End;


مثال

Funcation CountSal Return NewSal is
Mm number;
Begin
Mm=Select sal * 1.2 from emp;
NewSal = Mm
Exception
End;
هذا المثال غير عملي ولكنه يقوم بتعريف البنية الرئيسية للوظيفة

لنقم بالقيام بمثال عملي يمكنك تطبيقه عمليا مع شرح لخطوات العمل لكي يتسنى لنا المواصلة في هذا الموضوع
Declare
Cursor C1 is
Select empno,empname,sal from emp;
ST emp%Rowtype
قمنا هنا بالبدء في قسم تعريف الأجراء وقمنا بتعريف مؤشر ووظيفة المؤشر هي كمحزن لمجموعة من البيانات التي يتم الحصول عليها بناء على جملة استعلام محددة
ثم قمنا بتعريف متغير أخر وجعلنا نوعه مربوط بنفس نوع الحقل بحيث يحتوي على نفس أنواع الحقول الموجودة في جدول الموظفين والفائدة من هذه الطريقة هي عند القيام بتغيير أي نوع من أنواع الحقول الموجودة في الجدول سوف يقوم الأجراء بالتعرف على النوع الجديد دون الحاجة لتعديل هذا الأجراء
Begin
Open C1;
Loop
Fetch C1 Into
St.empno , st.empname, st.sal;
Exit when C1%notfound;
End Loop;
Close C1;
End;
قمنا هنا في جسم الأجراء بفتح المؤشر وهذا لكي يتم تنفيذ جملة الاستعلام ووضع القيم في داخله ثم قمنا ببدء حلقة لكي تقوم بالمرور على جميع القيم الموجودة داخل هذا المؤشر وقمنا بوضع هذه القيم داخل المتحول الذي قمنا بتعريفه ثم قمنا بعمل مصيدة للخطاء وهي تقوم بالخروج من الحلقة في حال انتهت الحلقة من المرور على جميع البيانات الموجودة داخل المؤشر ثم قمنا بإغلاق الحلقة وإغلاق المؤشر وانتهينا من الأجراء

بعد المرور على هذا المثال البسيط يجب علينا أن تعرف على كيفية تعريف متغيرات وثوابت داخل قسم الإجراءات
Constant
لتعريف ثابت لا يتغير عند الانتهاء من الأجراء بل تبقى القيمة كما هي

Declare
:Global.kk := 1;
Public
لتعريف متغيير عام يقوم البرنامج وجميع الإجرائيات باستخدامه

Declare
:Global.kk ;
Normal
لتعريف قيم تستخدم في الأجراء وتنتهي عن الانتهاء من الأجراء
Declare
MMM_Salary Salary%Rowtype;
MMM_ID Salary.ID%Rowtype;
في المتغيرين السابقين قمنا بتعريف متغير يحتوي على جدول ومتغير أخر يحتوي على حقل معين من جدول

Declare
MM_Salary Number(10);
MM_Date Date;
MM_Name Varchar2(20);
هذه مثال على كيفية تعريف متغيرات عادية
بقي علينا معرفة كيفية التعامل مع هذه المتغيرات من حيث الإسناد والحصول على النتائج
MM := 12 ;
إعطاء قيمة
:MM := B ;
وضع قيمة داخل أخرى
MM = 12 ;
للمساواة
:Global.KK + 1 ;
التعامل مع المتغيرات العامة والثابتة

لنقم الآن بالقيام بعمل مثال عملي أخر يضم ما تعلمناه سابقا
Declare
Cursor C1
Select empno,ename,sal From emp;
Cursor C2
Select amunt From add Where empno = empno;
Cursor C3
Select amunt From dept Where empno = empno;
Begin
Open C1;
Loop
Fetch C1 into Xempno,Xename,Xsal;
Exit when C1%notfound;
Tot_Add=0
Open C2;
Loop
Fetch C2 into Xamount;
Exit when C2%notfound;
Tot_Add := Tot_add + Xamount;
End loop;
Close C2;
Open C3;
Tot_ded = 0;
Loop
Fetch C3 into Xamount;
Exit when C3%notfound;
Tot_ded :=Tot_ded + xamount;
End loop;
Close C3;
Xnet_sal = Xsal + (Tot_add – Tot_ded)
Insert into New_emp
(empno,ename,sal,Tot_add,Tot_ded,Total)
Values
(Xempno,Xenqme,Xsal,Tot_add,Tot_ded,Xnet_sal);
End loop;
Close C1;
Exception
When ni_data_found then
Text_IO.Put line( ‘Data is Empty’);
في المثال السابق قمنا بوضع عدة حلقات داخل بعضه البعض كما قمنا بحساب مكافئات الموظف والخصومات لاستخراج إجمالي الراتب الخاص بالموظف وقمنا بوضعه في جدول جديد وبهذا تكون قد وضعت أول خطواتك في علم لغة الإجراءات في حال قد فهمت هذا المثال جيدا كما قمنا أيضا بوضع مصيدة للخطاء تقوم بإخراج سطر عبارة عن رسالة تقوم أنت بتعريفها لتخرج للمستخدم

بعض رسائل الخطاء المهمة
When Others then
في حال كان هناك خطاء غير معرف
When Dup_val_on
في حال كان هناك قيم متكررة
When No_data_found
في حال عدم وجود بيانات
When Zero Divide
في حال القسمة على صفر
When Too_Many_Rows
في حال لم يكن هناك أي سجلات

 

توقيع :المحــ البرمجى ــتوى
للحصول على دعم فني أفضل وأسرع احرص على ما يلي :
ــ ليكن عنوان موضوعك واضح ومناسب بعيدا عن الفزعه وغيرها من العناوين .
ــ ليكن طلبك أو سؤالك واضح ومحدد ولا تكتب أكثر من مشكلة في موضوع واحد .
ــ لا تستدعي عضو معين بإسمه يا فلان ويا علان .
ــ ضع رابط للمعاينة في حالة الحاجة لذلك .
ــ ارفق صور توضيحية للمشكلة في حالة الحاجة لذلك .
ــ اذا كانت المشكلة بسبب هاك يتوجب ارفاقه أو وضع رابط للهاك .
ــ اذا حصلت على المساعدة وتم حل المشكلة فتذكر أن ترد على الموضوع وتوضيح أنه تم حل المشكلة .
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

 
المواضيع المتشابهه للموضوع: PL/SQL لغة الأجرائات لبرمجة أوراكل
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
قسم أخبار أوراكل المحــ البرمجى ــتوى ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ 0 10-23-2006 01:47 AM
أوراكل والإنترنت المحــ البرمجى ــتوى ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ 0 10-23-2006 01:43 AM
مزودي خدمة ومستضيفين يعتمدون على أوراكل المحــ البرمجى ــتوى ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ 0 10-23-2006 01:42 AM
ماهي أوراكل المحــ البرمجى ــتوى ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ 0 10-22-2006 02:59 PM
نبذة تاريخية عن أوراكل المحــ البرمجى ــتوى ¨¨¨°~*§¦§ Oracle أوراكل §¦§*~°¨¨¨ 0 10-22-2006 02:58 PM


« عن شركة اوراكل |

PL/SQL لغة الأجرائات لبرمجة أوراكل

| أنواع المتحولات في أوراكل »
 

دليل المواقع

الاسكربتات

العاب

دليل المحتوى المحتوى البرمجى منتديات المحتوى البرمجى شبكة صباحو المجلة wikipedia
 خريطة  خريطة 2 الثانوية العامة الثانوية الازهرية  تبادل نصى  تبادل نصى  تبادل نصى  تبادل نصى  تبادل نصى
 تبادل نصى كلمات بحث فضايح الفنانين  Site Map

hi5

flixya

youtube

فيديو

الكتب

المحتوى البرمجى | منتدى عالم المحتوى البرمجى | برامج | مكتبة البرامج | مكتبة الخطوط | برامج مشروحة | برامج مسنجر افضل 10 | برامج نوكيا | غرائب وعجائب العالم | الصور المرعبة | الفيديو والصوتيات | أخبار التقنية | الكتب الأكترونية | ألعاب الفيديو | الأفلام الأجنبية المترجمة | برامج الجوال | العربية والأجنبية | برامج والتطبيقات جوال | الأفلام الأجنبية | الأفلام العربية    | المسلسلات الأجنبية | أفلام الأنمي والكارتون | البرامج الكاملة | Youtube Download | YouTube | RM to MP3 | تحويل rm | Yahoo Messenger | DVD to Nokia | اصحاب كول Norton|Internet Download Manager| Kaspersky | Microsoft Windows Media Player | NOD32 Antivirus|RealPlayer |Online TV Player|winrar|winzip|PC Satellite TV Pro|Windows Live Messenger |Messenger Plus! Live|Internet Explorer|Video Downloader|Nero 8| مشاهدة القنوات الفضائية والمشفرة|WebcamMax|برامج ماسنجر |Google Earth | Deep Freeze | BitDefender | avg | ZoneAlarm Antivirus  | ديجي شات | رنك  | sms | الموسوعة الأسلامية  | مكتبة الصورمسجات الجوالavgدليل المواقعرفع رانك | ادوات اصحاب المواقع  | الكاسبر سكاى  | Net Cut  |

  • AddThis Social Bookmark Button  Add to My Windows LiveAdd to My MSNAdd to My GoogleSubscribe in your AOLخدمة rss

  •  [backend] [backendforums] [backenddownloads] [backendlinks]

  • **جميع الاراء و المشاركات الموجودة في المنتدى لا تعبر بالضرورة عن رأي المحتوى البرمجى أو رأي إدارة الموقع **

 
الساعة الآن 06:49 PM.

Powered by vBulletin® Version 3.7.1
.Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
المحتوى البرمجىAravbSecurity
   

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164