إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
* * * * * 1 صوت

دروس Pl/sql من الألف الى الياء


138 رد (ردود) على هذا الموضوع

#106 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 19 December 2010 - 07:15 PM

شكرا لك اخي العزيز

وجزاك الله كل خير على ما بذلته من جهد لمساعدة اخوانك في المنتدى


وحياك الله في بلدك الثاني السعوديه



الله يبارك فيك اخي العزيز

فعلا بلدي الثاني السعودية

بلد طيب وشعب طيب

مشكور اخي علىت مرورك


:lol:

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#107 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 19 December 2010 - 07:18 PM

اللهم اغفر لك ما تقدم من ذنبك و ما تأخر..اللهم احسن خاتمتك
اللهم اغفر لوالديك و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين

جزاك الله عنا كل خير :lol:
بالتوفيق ،


الله يبارك فيك اخي العزيز على الدعاء ولك بالمثل ان شاء الله

مشكور على مرورك

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#108 mazahier

mazahier

    عضو

  • الأعضــاء
  • 41 مشاركة
  • الاسم الأول:mezo
  • اسم العائلة:kanan
  • البـلـد: Country Flag

تاريخ المشاركة 20 December 2010 - 01:20 PM

شكراّ علي الشرح الواضح والمميذ استفدت كتير
نتمني ان تواصل في الشرح

#109 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 20 December 2010 - 03:43 PM

شكراّ علي الشرح الواضح والمميذ استفدت كتير
نتمني ان تواصل في الشرح


العفو اخي العزيز

ان الان اكتب في اخر درس في الـــPL/SQL

مشكور على مرورك

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#110 mohadk

mohadk

    عضو

  • الأعضــاء
  • 10 مشاركة

تاريخ المشاركة 31 December 2010 - 04:56 PM

بارك الله فيك يا اخي ونحن في انتظار المذيد من الدروس

#111 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 05 January 2011 - 05:17 PM

بارك الله فيك يا اخي ونحن في انتظار المذيد من الدروس



الله يبارك فيك اخي العزيز

مشكور على مرورك الطيب


اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#112 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 05 January 2011 - 06:31 PM

السلام عليكم ورحمة الله وبركاته

انا اكرر اعتذاري اخواني واخواتي الاعزاء على التأخر في كتابة الدروس

اليوم بأذن الله اكون قد كتبة اخر درس في مادة الــــ PL/SQL

بسم الله نبدء


اليوم سنتحدث عن الشعب ((( شعب قاعدة البيانات اوراكل))) وعلاقة افراد هذا الشعب مع بعض

اتعرفون من هو هذا الشعب ...؟؟؟

انــــــــــــــه الجداول

سنناقش موضوع الشعب وعلاقة افراد هذا الشعب مع بعضهم

الشعب هو عبارة عن عائلات ((( الجداول Table)))

وهذه العائلات عبارة عن افراد ((( سجلات Record )))

ويوجد علاقات بين افراد هذا الشعب وهنالك أمور يجب القيام بها عند حدوث مناسبة ما بين

افراد هذا الشعب .

على سبيل المثال

حصل حالة وفاة بين افراد هذا الشعب يجب ((( القيام بالتعزية )))

حصل حالة ولادة بين افراد هذا الشعب يجب ((( القيام بالمباركة )))

حصل نجاح احد افراد هذا الشعب بالثانوية العامة او الكلية او الجامعة

او حصل احد افراد هذا الشعب على ترقية الى منصب اعلى

او حصل احد افراد هذا الشعب ترفيع في عمله يجب ((( القيام بالتهنئة )))

في حالة قيام احد افراد هذا الشعب بعمل يتنافى مع قوانين هذا الشعب

يجب ان يقوم احد بأيقاف هذا الفرد واجباره عن الرجوع عن عمله

وارجاع كل شيئ كما كان سابقا

كلام جميل جداااا

الحالات السابقة تمثل احداث بالنسبة للمجتمع وهي كالتالي .

حالة الموت تمثل Delete

حالة الولادة تمثل Insert

حالة النجاح او الترقية او الترفيع تمثل Update

شرح بسيط ...

Delete : حيث تختص هذه الجمله بالحذف.

Insert : حيث تختص هذه الجمله بالإضافة.

Update : حيث تختص هذه الجمله بالتعديل.




عندي سؤال صغير جداااااااا

من الشخص الذي يقوم بهذه الوظائف ...؟

من يقوم بالتعزية في حالة الموت ...؟

من يقوم بالمباركة في حالة الولادة ...؟

من يقوم بالتهنئة في حالة النجاح او الترقية او الترفيع ...؟

من يقوم بأيقاف أي فرد قام بعمل خطأ او اي عمل غير مرغوب فيه ...؟

من هو الذي يعمل في حالة حدوث عمل معين ...؟

من هو الذي يعمل عند حدوث أي امر طارئ ...؟


انه مركز الطوارئ لهذا الشعب ...!!!

تعرفون جميعا ما هو مركز الطوارئ وما هي وظائفه

مركز الطوارئ يحتوي على عدة أقسام ومن هذه الاقسام

الدفاع المدني ((( الاطفائية )))

قسم شكاوي المياه

قسم شكاوي الكهرباء

قسم شكاوي الاتصالات

الاسعاف

الامن العام

أذا انه بمجرد حصول حدث ما كالحريق يعمل قسم الاطفائية مباشرة ويتحرك بأتجاه الحريق

وفي حالة حصول حادث يتحرك قسم الاسعاف مباشرة بأتجاه الحادث وفي حالة أنقطاع الكهرباء

أو الماء او الاتصالات يعمل القسم الخاص بكل واحد منهم ويتحرك بأتجاه الهدف .

كلام جميل جدا جدا جدا

لكن عندي سؤال صغير جدا ...؟

متى يعمل مركز الطوارئ ...؟؟؟

يعمل مركز الطوارئ في حالتين أما قبل وقوع الحدث او بعد وقوع الحدث

معلش مش فاهم حاجة ممكن توضيح ...!!!

بسيطة يا سيدي العزيز ...

الموضوع بسيط جداااا

يعمل مركز الطوارئ قبل الحدث أي قبل وقوع الحدث

على سبيل المثال :

في حالة وجود مباراة بين فرقين كبيرين كفريق برشلونة وريل مدريد

او فريقي الاهلي والزمالك في مصر الشقيقة

يقوم قسم الامن العام بنشر قواته قبل المباراة داخل الملعب وخارجه

وبين مرافقه خوفا من وقوع المشاجرات بين مشجعي كلا من الفرقين

مثال اخر :

في حالة وجود أنتخابات لاحد الدول يقوم الامن العام قبل الانتخاب بنشر قواته

عند مراكز الانتخاب خوفا من تصادم مرشحي كل دائرة .

طبعا في كلا الحالتين السابقتين يقوم كلا من قسم الاسعاف وقسم الدفاع المدني بنشر

افرادهم وسيارتهم خوفا من وقوع الحوادث .

مثال اخر :

في حالة لا سمح الله انتشار وباء او فايروس في احد المناطق في بلد ما

يقوم قسم الاسعاف في المناطق الاخرى بأخذ الاحتياطات اللازمة

من اعطاء المضادات الحيوية للناس ونشر منشورات تحذر من هذا

الفايروس قبل دخول هذا الفايروس للمناطق السليمة .

وهنالك الكثير الكثير من الوظائف التي يقوم بها مركز الطوارئ قبل وقوع الحدث .

أما بالنسبة للعمل مركز الطوارئ بعد الحدث أي بعد وقوع الحدث

على سبيل المثال :

في حالة تلقي قسم الاتصالات شكاوي بخصوص انقطاع الاتصالات في منطقة ما

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

مثال أخر :

في حالة تلقي قسم الدفاع المدني بلاغ عن حدوث حريق في منزل او مصنع او شركة ...الخ

يقوم المركز بأرسال الاطفائية للقيام بأطفاء النيران .

ويوجد الكثير الكثير من الوظائف التي يقوم بها مركز الطوارئ بعد وقوع الحدث .

كلام جميل ماذا سمت اوراكل هذا المركز ...؟

اتعرفون ماذا سمت اوراكل مركز الطوارئ لهذا الشعب ...؟

انـــــــــــــــــــه الـــــــــــــــــ Trigger !!!

اظنكم عرفتم ما هو الــــــTrigger وما وظيفته .

لكن يوجد تعريفات اخرى للــــTrigger لنذكر بعضها .

التريجر هو اسلوب معالجة الاحداث في الداتابيز

أو

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

أو

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

أو

التريجر هو مكان نكتب به كود معين و نخزنه بالذاكرة لكن هذا الكود ينطلق نتيجة حدث معين

أو

التريجر عبارة عن مجموعة من الاوامر يتم تنفيذها عندما تتم عملية الاضافة او الحذف او التعديل

أيضا يعرف التريجر بالزناد وهو عباره عن مكون يتم بناءه وتحديد

الحدث الذي سيقوم بحث مجموعة من العبارات علي إنجاز شئ معين .

ايضا يعرف التريجر بزناد المسدس هو عبارة عن مجموعه من المعلومات

التي يتم تنفيذها بشكل أوتوماتيكي بواسطة النظام في حال

حدوث تعديل او أضافه او حذف .

أيضا يعرف التريجر بــ القادح أو الأجراء القادح كما تسمى

بمعنى أدق هي عبارة عن أجراءات أي مجموعة من الأوامر أو الحزم البرمجية

يتم تنفيذها كلما صدر الأمر المعرف له .

بعد انا تعرفنا على الـــTrigger وخصائصه وصفاته .

سنقوم بشرح كيفية كتابة الـــ Trigger بالتفصيل الممل .

بسم الله نبدء

CREATE OR REPLACE TRIGGER < TRIGGER_NAME>

<BEFORE | AFTER> <ACTION> [OR <ACTION> OR <ACTION>]
ON <table_name>
  For each row
 BEGIN
  <trigger_code>
 
END < TRIGGER_NAME >;
/

سأشرح الـــTrigger جزء جزء

CREATE OR REPLACE TRIGGER هذا الجزء خاص بأنشاء الــtigger وخاصية التعديل عليه

< TRIGGER_NAME> هنا نكتب أسم التريجر والافضل ان يدل اسم التريجر على وظيفته

<BEFORE | AFTER> هنا نحدد وقت انطلاق التريجر قبل او بعد الحدث

<ACTION> هنا نحدد متى يعمل التريجر وهي ثلاث حالات Delete و Insert و Update

ممكن ان نحدد حالة او حالتين او تحديد كل الحالات .

ON <table_name> تحديد اسم الجدول الذي سينطلق عليه التريجر


For each rowهذا الجزء اختياري ويعد هذا الخيار ما اذا كان التريجر سوف ينطلق مرة واحدة

لكل صف تاثر بالتريجر ((( سأشرح لاحقا بالتفصيل )))


BEGIN بداية التريجر

<trigger_code> الكود الذي سوف ينفذ في حالة انطلاق التريجر


END < TRIGGER_NAME >; نهاية التريجر



قبل البدء في كتابة الامثلة هنالك موضوع يجب شرحه وهو Qualifiers

Qualifiers are activated when we have trigger on the table

او بمعنى اخر التعامل او التمميز بين القيم القديمة والقيم الجديدة في Date Base Trigger

في حالة Delete أو Insert أو Update .


او بمعنى أخر

الوصول الى القيم القديمة والحديثة للصف الحالي حيث في عمليتي insert و update يمكنك الوصول من القيم القديمة والحديثة اما بالنسبة لعملية delete فمن الطبيعي ان المتاح هو القيم القديمة فقط

ويمكنك استخدام القيم القديمة والحديثة في التريجرات before و after وسوف تكون القيم القديمة والحديثة هي الموجودة فقط في before trigger اما اذا كان after trigger فانه يقوم بالتقاط القيمة بعد التحديث.

الان وقت الامثلة .

بسم الله نبدء .


اريد ان اكتب تريجر يعطيني القيم القديمة والجديدة للرواتب في حالة عملت تعديل للرواتب في جدول الموظفين .




SQL> Create Or Replace Trigger update_sal
  2   before update
  3   on emp
  4   for each row
  5   begin
  6   dbms_output.put_line('You Update '||:old.ename||' Old Salary '||:old.sal||'  New Salary  '||:n
ew.sal);
  7  
  8  end update_sal;
  9  /

Trigger created.


سأقوم بزيادة رواتب الموظفين بقيمة 50 دينار .


SQL> update emp
  2  set sal=sal+50;

والنتيجة كما يلي ...

You Update SMITH Old Salary 1000  New Salary  1050
You Update ALLEN Old Salary 1700  New Salary  1750
You Update WARD Old Salary 1300  New Salary  1350
You Update JONES Old Salary 3000  New Salary  3050
You Update MARTIN Old Salary 1300  New Salary  1350
You Update BLAKE Old Salary 2500  New Salary  2550
You Update CLARK Old Salary 2000  New Salary  2050
You Update SCOTT Old Salary 3000  New Salary  3050
You Update KING Old Salary 5000  New Salary  5050
You Update TURNER Old Salary 1600  New Salary  1650
You Update ADAMS Old Salary 1200  New Salary  1250
You Update FORD Old Salary 3000  New Salary  3050
You Update MILLER Old Salary 1500  New Salary  1550

13 rows updated.

مثال اخر

اريد ان يطبع تهنئة في حالة اضافة قسم جديد على جدول الاقسام .



SQL> create or replace trigger add_dept
  2  after insert
  3  on dept
  4  begin
  5  dbms_output.put_line('Congratulations new section and we wish him a bright beginning');
  6  end add_dept;
  7  /

Trigger created.


سأقوم بأضافة قسم جديدة وأسمه برمجة


والنتيجة كالتالي


SQL> insert into dept (deptno,dname,loc)
  2  values(55,'programmin','amman');
Congratulations new section and we wish him a bright beginning

1 row created.

مثال اخر

اريد في حالة حذف موظف ما من جدولين الموظفين ان يطبع رسالة ان تم الحذف .


SQL> create or replace trigger del_emp
  2  after delete
  3  on emp
  4  begin
  5  print('Officer has been deleted from the Employee table  ...');
  6  end del_emp;
  7  /

Trigger created.


سأقوم بحذف موظف من جدول الموظفين الذي رقمه 7844


والنتيجة هي ...


SQL> delete emp
  2  where empno=7844;
Officer has been deleted from the Employee table  ...

1 row deleted.

كلام جميل جدا في الامثلة الثلاث السابقة استخدمت كل الحالات

الـــ Delete والـــInsert والـــ Update

انها امثلة بسيطة جدا فقط للتوضيح

في المرة القادمة اذ لم يكن هنالك اسئلة على هذا الموضوع

سأقوم بكتابة مختصر شديد عن الــ Trigger

وأقوم بكتابة امثلة للحياة العملية .

السلام عليكم ورحمة الله وبركاته

تم التعديل بواسطة miash80, 05 January 2011 - 06:40 PM.

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#113 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 05 January 2011 - 06:52 PM

انا بأنتظار الاسئلة


:lol: :lol: :lol:

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#114 علوي2011

علوي2011

    عضو

  • الأعضــاء
  • 24 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 06 January 2011 - 05:11 AM

جزاك الله الف خير
الله يغفرلك ولوالديك

#115 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 12 January 2011 - 04:43 PM

جزاك الله الف خير
الله يغفرلك ولوالديك


الله يبارك فيك اخي العزيز

مشكور على مرورك الطيب

تم التعديل بواسطة miash80, 12 January 2011 - 04:43 PM.

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#116 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 793 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 12 January 2011 - 04:45 PM

ان شاء الله اذا لم يوجد أي أسئلة سأقوم بكتاية امثلة توضيحة اكثر عن الــTrigger


مع كتابة تلخيص عن الـــTrigger


يوم السبت القادم

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#117 متى نتخرج

متى نتخرج

    مشترك

  • الأعضــاء
  • 50 مشاركة

تاريخ المشاركة 21 February 2011 - 01:01 PM

يعطيك العافيه جهد مميز

#118 hannona

hannona

    عضو

  • الأعضــاء
  • 7 مشاركة

تاريخ المشاركة 30 May 2011 - 05:16 PM

اخواني واخواتي مشرفين وأعضاء السلام عليكم ورحمة الله وبركاته

وانا اسف للأنقطاع عن المنتدى مدة طويلة بسبب ظروف الحياة .

وشكر خاص لكل من سئل عني

والله يسعدكم جميعا


اليوم والحمدلله بدءت بكتابة بعض الدروس التي تشمل قسم PL/SQL

من الألف الى الياء واليوم سأضع اول درس وإن شاء الله ان اكون قد وفقت في كتابة

هذه الدروس ولن اضع الدرس التالي الا في حالة أستعياب الدرس الاول للجميع لذلك

اطلب من اي عضو او مشترك طرح اي سؤال اول باول في اي درس سيتم طرحه

مع رجاء خاص ان تكون الاسئلة طمن الدرس لكي لا يتشتت تفكير اي مشترك.


وبسم الله بندء .....

مقدمة صغيرة

لغة PL/SQL تعتبر لغة البرمجة الخاصة بنظام اوراكل وهي اداة برمجية قوية جدا

وكلمة PL/SQL اختصاراً لـ (Procedure Language/Structure Query Language )

وتستخدم هذه اللغة لتجهيز نظام Oracle عن طريقة معالجة التسجيلات

وتستخدم أيضاً في أدوات التطوير المنتجة من قبل شركة Oracle

وهي تعتبر أساس برنامج بناء النماذج Oracle Forms و Oracle Reports

وتستخدم هذه اللغة أيضاً لتعريف نموذج ما

، والقيام ببعض الحسابات الخاصة في تقرير ما ، ومن أجل التسجيلات




الدرس الاول في ال Pl/Sql هو كتابة البرنامج البسيط وشرح مكونات البرنامج بالتفصيل

Declare  (Optional)  هذا الجزء اختياري بس اذا كان هنالك متغيرات يكون أجباري

Variables   Decleration Section هذا الجزء من البرنامج يعرف فيه المتغيرات بأنواعها 

begin (Mandatory)  بداية البرنامج وهذا الجزء أجباري
Eexcutable Section	هنا يكتب كود البرمجة الخاص بالبرنامج 
Pl/Sql Code
Exception (Optional)هذا الجزء خاص بمعالجة أخطاء البرنامج وهو أختياري ولكن انا بنظري هذا الجزء يجب ان يكون اجباري
Error Hanling Section
Error Type انواع الاخطاء  
1) Syntax Error (Compilaion)
2)Run Time (Logical Error)
end;  (Mandatory)  نهاية البرنامج وهذا الجزء أجباري


قبل البدء في اعطاء امثلة يجب التذكير بانواع البيانات   (Data Types)

   Varibale				  Data Type

1) V1					  Number عدد صحيح
2) V2					  Number(,) عدد حقيقي
3) V3					  Varchar2( ) متغير نصي
4) V4					  Boolean المتغير المنطقي ويأخذ خيارين
							   a)True
							   b)False
5) V5					 Table-Name.Column-Name%Type;  يأخذ نفس مواصفات حقل معين في احد الجداول
   Example  :  V5   Emp.Empno%type;	Emp  في جدول الـــEmpno  أخذت نفس نوع الحقل V5 
6) V6					 Table-name%Rowtype;  يأخذ نفس مواصفات جدول معين ونتعامل مع هذا المتغير كما نتعامل مع جدول
	Example  :  V6  Emp%rowtype;
					 ويستخدم بهذه الطريقة 
					V6.Empno  Or V6.Ename Or V6.sal ....Ext
7) V7			Cursor	وهذا المتغير له درس مستقل في الدروس القادمة أنشاء الله
8) V8			Cursor-Name%Rowtype;	أنشاء الله Cursor وهذا تابع في درس ال


كما احب ان اذكربــــ  جمــــــل If Statment  وأنواعها


1)If Condition then
   Code .....;
   end If;

2)If Condition then
   Code .....;
elsif
 Code....;
   end If;

3)If Condition then
Code .....;
elsif
Code....;
elsif
Code....;
else
Code...;
end If;

4)If Condition1 then
Code .....;
			  If Condition2 then
			  Code....;
										  If Condition3 then
										  Code....;
 End If;	---Condition3 
 End If;	---Condition2
 End If;	---Condition1


هنا سنشرح الحلقات او حلقة التكرار وانواعها

طبعا يجب وضع شرط للخروج من الحلقة

1)  For Loop
	Example1 : اريد ان اطبع من رقم واحد الى رقم عشرة

	For i in  1..10 loop	طبعا اجباري من الصغير للكبير دائما
	end loop;

  Example2 :	اريد ان اطبع من رقم واحد الى رقم عشرة بالعكس
	For i in  reverse 1..10 loop	أنتبه اجباري من الصغير للكبير دائما
	end loop;
 
2) While Loop

   While Condition Loop		 يجب وضع شرط لايقاف الحلقة
  Code  .....;
  end Loop;

 Example :اريد طباعة الراتب لغاية ما يصير الراتب يساوي 1000 دينار
  While sal = 1000 loop
 Code .....;
 sal:=sa+10;
 end loop;

3)loop

	Loop 
  Code ....;
  Exit When Condition;
 end loop;
Example  : أريد ان يعمل اضافة على الراتب لغاية ما يصير الراتب اقل أو يساوي500 دينار
Loop
Code ....;
Exit When sal <= 500;
end loop;


أتمنى ان اكون اوصلت معلومة بشكل صحيح ومناسب

فإن أصبت فمن الله وإن أخطأت فمن الشيطان ،،

إن شاء الله في المرة القادمة بعد الأخذ برأيكم وأسئلتكم

سأبدء بكتابة الامثلة إن شاء الله

أدعو لي بالتوفيق



#119 hannona

hannona

    عضو

  • الأعضــاء
  • 7 مشاركة

تاريخ المشاركة 30 May 2011 - 05:20 PM

شكرا كثيراً على الشرح الرائع ولكن هل من الممكن وجود شرح ل pl sql فيديو

#120 hannona

hannona

    عضو

  • الأعضــاء
  • 7 مشاركة

تاريخ المشاركة 30 May 2011 - 10:22 PM

اخواني واخواتي مشرفين وأعضاء السلام عليكم ورحمة الله وبركاته

وانا اسف للأنقطاع عن المنتدى مدة طويلة بسبب ظروف الحياة .

وشكر خاص لكل من سئل عني

والله يسعدكم جميعا


اليوم والحمدلله بدءت بكتابة بعض الدروس التي تشمل قسم PL/SQL

من الألف الى الياء واليوم سأضع اول درس وإن شاء الله ان اكون قد وفقت في كتابة

هذه الدروس ولن اضع الدرس التالي الا في حالة أستعياب الدرس الاول للجميع لذلك

اطلب من اي عضو او مشترك طرح اي سؤال اول باول في اي درس سيتم طرحه

مع رجاء خاص ان تكون الاسئلة طمن الدرس لكي لا يتشتت تفكير اي مشترك.


وبسم الله بندء .....

مقدمة صغيرة

لغة PL/SQL تعتبر لغة البرمجة الخاصة بنظام اوراكل وهي اداة برمجية قوية جدا

وكلمة PL/SQL اختصاراً لـ (Procedure Language/Structure Query Language )

وتستخدم هذه اللغة لتجهيز نظام Oracle عن طريقة معالجة التسجيلات

وتستخدم أيضاً في أدوات التطوير المنتجة من قبل شركة Oracle

وهي تعتبر أساس برنامج بناء النماذج Oracle Forms و Oracle Reports

وتستخدم هذه اللغة أيضاً لتعريف نموذج ما

، والقيام ببعض الحسابات الخاصة في تقرير ما ، ومن أجل التسجيلات




الدرس الاول في ال Pl/Sql هو كتابة البرنامج البسيط وشرح مكونات البرنامج بالتفصيل

Declare  (Optional)  هذا الجزء اختياري بس اذا كان هنالك متغيرات يكون أجباري

Variables   Decleration Section هذا الجزء من البرنامج يعرف فيه المتغيرات بأنواعها 

begin (Mandatory)  بداية البرنامج وهذا الجزء أجباري
Eexcutable Section	هنا يكتب كود البرمجة الخاص بالبرنامج 
Pl/Sql Code
Exception (Optional)هذا الجزء خاص بمعالجة أخطاء البرنامج وهو أختياري ولكن انا بنظري هذا الجزء يجب ان يكون اجباري
Error Hanling Section
Error Type انواع الاخطاء  
1) Syntax Error (Compilaion)
2)Run Time (Logical Error)
end;  (Mandatory)  نهاية البرنامج وهذا الجزء أجباري


قبل البدء في اعطاء امثلة يجب التذكير بانواع البيانات   (Data Types)

   Varibale				  Data Type

1) V1					  Number عدد صحيح
2) V2					  Number(,) عدد حقيقي
3) V3					  Varchar2( ) متغير نصي
4) V4					  Boolean المتغير المنطقي ويأخذ خيارين
							   a)True
							   b)False
5) V5					 Table-Name.Column-Name%Type;  يأخذ نفس مواصفات حقل معين في احد الجداول
   Example  :  V5   Emp.Empno%type;	Emp  في جدول الـــEmpno  أخذت نفس نوع الحقل V5 
6) V6					 Table-name%Rowtype;  يأخذ نفس مواصفات جدول معين ونتعامل مع هذا المتغير كما نتعامل مع جدول
	Example  :  V6  Emp%rowtype;
					 ويستخدم بهذه الطريقة 
					V6.Empno  Or V6.Ename Or V6.sal ....Ext
7) V7			Cursor	وهذا المتغير له درس مستقل في الدروس القادمة أنشاء الله
8) V8			Cursor-Name%Rowtype;	أنشاء الله Cursor وهذا تابع في درس ال


كما احب ان اذكربــــ  جمــــــل If Statment  وأنواعها


1)If Condition then
   Code .....;
   end If;

2)If Condition then
   Code .....;
elsif
 Code....;
   end If;

3)If Condition then
Code .....;
elsif
Code....;
elsif
Code....;
else
Code...;
end If;

4)If Condition1 then
Code .....;
			  If Condition2 then
			  Code....;
										  If Condition3 then
										  Code....;
 End If;	---Condition3 
 End If;	---Condition2
 End If;	---Condition1


هنا سنشرح الحلقات او حلقة التكرار وانواعها

طبعا يجب وضع شرط للخروج من الحلقة

1)  For Loop
	Example1 : اريد ان اطبع من رقم واحد الى رقم عشرة

	For i in  1..10 loop	طبعا اجباري من الصغير للكبير دائما
	end loop;

  Example2 :	اريد ان اطبع من رقم واحد الى رقم عشرة بالعكس
	For i in  reverse 1..10 loop	أنتبه اجباري من الصغير للكبير دائما
	end loop;
 
2) While Loop

   While Condition Loop		 يجب وضع شرط لايقاف الحلقة
  Code  .....;
  end Loop;

 Example :اريد طباعة الراتب لغاية ما يصير الراتب يساوي 1000 دينار
  While sal = 1000 loop
 Code .....;
 sal:=sa+10;
 end loop;

3)loop

	Loop 
  Code ....;
  Exit When Condition;
 end loop;
Example  : أريد ان يعمل اضافة على الراتب لغاية ما يصير الراتب اقل أو يساوي500 دينار
Loop
Code ....;
Exit When sal <= 500;
end loop;


أتمنى ان اكون اوصلت معلومة بشكل صحيح ومناسب

فإن أصبت فمن الله وإن أخطأت فمن الشيطان ،،

إن شاء الله في المرة القادمة بعد الأخذ برأيكم وأسئلتكم

سأبدء بكتابة الامثلة إن شاء الله

أدعو لي بالتوفيق