miash80 بتاريخ: 4 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 4 يناير 2010 جزااااااااااااااااااااااااااك الله خيرااااااااااااااااااابجد شرح رائع الله يبارك فيكي اختي الفاضلة وأنشاء الله تستفيدي من هذه الدروس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 جزاك الله خيرا على الاستجابة والف شكر على ما بذلت من جهد ولكن هنا ك بعض الاسئلة ويا ريت تتحملني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 (معدل) أخي في هذا الكود ليش عملت هيك عند مثال استخدامك للمتعير من نوع OUT 5 from emp e ,dept d 6 where e.deptno=d.deptno 7 and e.empno=p_empno; تم تعديل 5 يناير 2010 بواسطة deamon اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 5 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 أخي في هذا الكود ليش عملت هيك عند مثال استخدامك للمتعير من نوع OUT 5 from emp e ,dept d 6 where e.deptno=d.deptno 7 and e.empno=p_empno; اخي أو أختي الكريمة ممكن توضح سؤالك اكثرهل تقصد لماذا استخدمت براميتر من نوع Out ....؟او هل تقصد لماذا استخدمت جدولين مع الربط بينهم بجملة شرط ...؟او تقصد شيئ ثاني ....أرجو التوضيح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 نعم ما سبب عملية الربط بتلك الطريقة ومشكور اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 موضوع وشرح بسيط واكثر من رائع ربنا يكرمك على المجهود دا وعلى اسلوبك وانا لازم اتابع معاك اول باول وربنا يكرمك على المجهود المبذول بجدانا بشكرك جدا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 5 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 الموضوع بسيط جداااا أخي العزيزاولا لنتذكر ما هو السؤال ...؟السؤال كان ...اريد ان اكتب Procedure اعطيه رقم الموظف ويعطيني اسم الموظف مع أسم قسمه واريد ان احتفظ بأسم الموظف مع اسم القسم في متغيراريد اسم الموظف واريد اسم قسم الموظف وللأسف اسم الموظف في جدول واسم قسمه في جدول اذا ما العمل .الحل بسيط نأتي باسم الموظف من جدول الموظفين ونأتي بأسم قسمه من جدول الاقسام ونربط هذين الجدولين بعلاقة عن طريق رقمالقسم اذا انا رقم القسم في جدول الاجسام هو عبارة عن primary key وفي جدول الموظفين هو عبارة عن Foriegn key select ename,dname هنا طلبنا اسم الموظف وأسم القسم from emp e ,dept d هنا حددنا اسم الجدولين وقمنا بوضع رمز بديل عن اسم الجدوال ونتعامل مع هذين الرمزين كما نتعامل مع الجدوال where e.deptno=d.deptno هنا قمنا بعملية الربط بين الجدولين عن طريق رقم القسم and e.empno=p_empno;هنا وضعنا شرط رقم الموظف هو براميتر 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 مشكور علم يا سيدي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 يا أخي ممكن تشرح مثال الخاص بي المتغير in outوخاصة الجملة p_num:='('||substr(p_num,1,3)||').'||substr(p_num,4); اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 ياعزيزي استاذنك في حاجة عاوز اسئل فيها بس في درس سابق وهي طيب في حالة غلط المستخدم وادخل بدل الرقم حرف ماذا يحصل ...؟كودSQL> /Enter value for a: 15Enter value for b: 'm'declare*ERROR at line 1:ORA-06502: PL/SQL: numeric or value error: character to number conversion errorORA-06512: at line 7 هل يمكن ايكون نفس الجملة المكتوبة تطلع error اخر غير اللي طلع عندك دا في موضوع الحرف بدل رقم لاني طبقت نفس الجملة بتاعتك بالزيرو وطلعت تمام لما عملت ال exception بس لما وضعنا حرف كما في الاعلى طلع عندك error تاني غير اللي عندي وبالتالي لما اكتب انا exception برضوا مطلع عندي error كالاتي error at line 7: ORA-06550 : line 7,line 6: PLS-00201: identifier 'm' must be declare ORA-06550: line 7, column 3: PL\SQL: statment ignord اعمل اية فيها يا باشا ؟؟؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 5 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2010 باعتذر عن الخطأ البشع اللذي وقعت فية علمت الحل لاني لم اضع الحرف في ' 'بعتذر وشكرا اشكرك على المجهود الرائع وعلى قدرتك على توصيل المعلومة بالطريق الفوق رائعة وشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 6 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 باعتذر عن الخطأ البشع اللذي وقعت فية علمت الحل لاني لم اضع الحرف في ' 'بعتذر وشكرا اشكرك على المجهود الرائع وعلى قدرتك على توصيل المعلومة بالطريق الفوق رائعة وشكرا اهلا وسهلا بأخي العزيز masmas1001ما في داعي للأسف كلنا نخطأ وجلا من لا يسهوأتمنى أخي العزيز ان تسفيد من هذه الدروسوأتمنى منك أخي العزيز ان تطرح أي سؤال يخطر في بالك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 6 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 اشكرك يا اخي العزيز وجزاك الله خير على هذا الردعندي سؤال وانا احاول فهم موضوع parameterانا مش فاهم معلش عملت لينا اية out وثانيا لو احنا عملنا parameter out لازم في وقت invok procedure نعمل variable وانا بصراحة مش فاهمها بجد لو فية طريق افهم بيها جزاك الله خيرا والجزء الثالث انا حاولت اعملها بالـ loop بدل من if وكتبتها والامر الاخر اذا استخدمت procedure print الذي تم عملة تماااام ولا اية كالاتي create or replace procedure get_name (p_empno in number , p_ename out varchar2, p_dname out varchar2) is cursor cur_emp is select ename, dname from emp e , dept d where e.deptno=d.deptno; and e.empno= p_empno; BEGIN open cur_emp; loop fetch cur_emp into p_ename, p_dname; exit when cur_emp%notfound; print (p_ename || 'NO E name' || p_dname || ' No D name'(; end loop; close cur_emp; end; / هل هذه الطريق صحيحة هي لم تعطيني error وتمت بنجاح وعند مرحلة الاستدعاء بالكود declare v_ename varchar2(100); v_dname varchar2(100); begin get_name (&p_empno, v_ename, v_dname); print ('NAME : ' || v_ename || ' Dname : ' || v_dname); end; / ياتي بالنتيجة مضبوطة ولكن اذا كان الرقم غير موجود لا يظهر ماذ نفعل ؟؟؟اية الخطا ؟؟اكيد انا كاتب حاجة غلط بس لو ممكن مساعدة !!!!!!! اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 6 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 يا أخي ممكن تشرح مثال الخاص بي المتغير in outوخاصة الجملة p_num:='('||substr(p_num,1,3)||').'||substr(p_num,4); اهلا بأخي العزيز Deamonلنتذكر هذ السؤال مع بعضأريد ان اكتب برنامج اعطيه رقم معين واريد ان يخرج هذا الرقم بفورمات معينة ...؟لنحلل السؤال مع بعض ...أريد ان امرر رقم معين للـــــــــProcedure يعني اريد ان استخدم براميتر من نوع Inوأريد ان اخرج هذا الرقم من الـــــ Procedure بفورمات جديدة يعني اريد ان استخدم براميتر من نوع Outكما رأينا نريد ان نستخدم لنفس هذا الرقم براميترين واحد من نوع In والثاني من نوع Outلماذا نستخدم اكثر من براميتر وعندنا براميتر يقوم بنفس وظيفة هذين البراميترينوهو البراميتر من نوع In Out والحل كألاتي SQL> create or replace procedure phone(p_num in out varchar2) 2 is 3 begin 4 p_num:='('||substr(p_num,1,3)||').'||substr(p_num,4); 5 end; 6 / Procedure created. لنحلل هذا الجزء من الكود وهو عبارة عن الفورمات الذي نريده للعدد p_num:='('||substr(p_num,1,3)||').'||substr(p_num,4); اولا P_num هو رمز العددثانيا Substr هو عبارة عن Function جاهزة من اوراكل ووظيفتها عرض حروف معينه من الكلمه تبداء من ارقام محدده ( يعني مثل اقول اطبع لي الكلمه من حرف رقم1 الى الحرف رقم 5 ) مثال على ذلك : اكتب استعلام يعرض لنا الحروف منالحرف رقم 3 الى الحرف رقم 7 ؟الحل : select substr(Ename,3,7)l هنا يأتي بألاسماء بداية من حرف رقم 3 الى الحرف رقم 7مثال ثاني للتوضيحاكتب استعلام يعرض لنا الحروف من رقم 2 للنهاية select substr(Ename,2)l هنا يأتي بألاسماء بداية من حرف رقم 2 للنهاية بغض النظر عن طول الاسم|| هذا الرمز اسمه concat ووظيفته جمع سلسلتين نصيتين في عمود واحدمثال على ذلك : اكتب استعلام يعرض عمود الاسماء وعمود الوظائف في عمود واحد؟ الحل : Select Ename||sal From Emp; ' ' هذا الرمز لاخراج الكتابة على الشاشةمثال على ذلك : اكتب استعلام يعرض عمود الاسماء وبجانبه كلمة Name Emplyeeالحل : Select 'Name Emplyee'||ename From Emp; أتمنى ان اكون اوصلت الفكرة اخي العزيز اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 6 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 اخي العزيز miash اتقوع في خطا ما في الكود الاستدعاء هذا لانة عند التجربة لا يخرج الفورمات المطلوبة والاحظ انة لم يذكر اسم procedure الذي تم عملة phone فكيف سيتم اخراج النتيجة هذه من فضلك !!!!==============================================================طريقة أستدعاء Procedure فيه براميتر من نوع In Out .كودSQL> declare 2 v_num varchar2(100); 3 begin 4 v_num:=&v_num; 5 print(v_num); 6 end; 7 /Enter value for v_num: 796690462(796).690462PL/SQL procedure successfully completed.====================================================يخرج الرقم كما هو ولا تعديل علية ولا فورمة ؟؟؟؟والف شكر على المجهود الرائع هذا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 6 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 اخي العزيز miash اتقوع في خطا ما في الكود الاستدعاء هذا لانة عند التجربة لا يخرج الفورمات المطلوبة والاحظ انة لم يذكر اسم procedure الذي تم عملة phone فكيف سيتم اخراج النتيجة هذه من فضلك !!!!==============================================================طريقة أستدعاء Procedure فيه براميتر من نوع In Out .كودSQL> declare 2 v_num varchar2(100); 3 begin 4 v_num:=&v_num; 5 print(v_num); 6 end; 7 /Enter value for v_num: 796690462(796).690462PL/SQL procedure successfully completed.====================================================يخرج الرقم كما هو ولا تعديل علية ولا فورمة ؟؟؟؟والف شكر على المجهود الرائع هذا الله يبارك فيك اخي العزيزكلامك صحيح وانا أسف عل هذا الخطأ المطبعي وهذا هو الاستدعاء الصحيح للــــ ProcedureSQL> declare 2 v_num varchar2(100); 3 begin 4 v_num:=&v_num; 5 phone(v_num); 6 print(v_num); 7 end; 8 / Enter value for v_num: 796690462 (796).690462 PL/SQL procedure successfully completed. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 6 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 الله يبارك فيك وجزاك كل خير على هذا الشرح انا احاول ان اتابعك خطوة بخطوة ويعجبني طريقت شرحك يا استاذي ارجوا من حضرتك انك تشوف الاستفسار اللي ارسلتة لك قبل هذا من فضلك عن mod out كما طلبت من حضرتك وبارك الله فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 6 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 اشكرك يا اخي العزيز وجزاك الله خير على هذا الردعندي سؤال وانا احاول فهم موضوع parameterانا مش فاهم معلش عملت لينا اية out وثانيا لو احنا عملنا parameter out لازم في وقت invok procedure نعمل variable وانا بصراحة مش فاهمها بجد لو فية طريق افهم بيها جزاك الله خيرا والجزء الثالث انا حاولت اعملها بالـ loop بدل من if وكتبتها والامر الاخر اذا استخدمت procedure print الذي تم عملة تماااام ولا اية كالاتي create or replace procedure get_name (p_empno in number , p_ename out varchar2, p_dname out varchar2) is cursor cur_emp is select ename, dname from emp e , dept d where e.deptno=d.deptno; and e.empno= p_empno; BEGIN open cur_emp; loop fetch cur_emp into p_ename, p_dname; exit when cur_emp%notfound; print (p_ename || 'NO E name' || p_dname || ' No D name'(; end loop; close cur_emp; end; / هل هذه الطريق صحيحة هي لم تعطيني error وتمت بنجاح وعند مرحلة الاستدعاء بالكود declare v_ename varchar2(100); v_dname varchar2(100); begin get_name (&p_empno, v_ename, v_dname); print ('NAME : ' || v_ename || ' Dname : ' || v_dname); end; / ياتي بالنتيجة مضبوطة ولكن اذا كان الرقم غير موجود لا يظهر ماذ نفعل ؟؟؟اية الخطا ؟؟اكيد انا كاتب حاجة غلط بس لو ممكن مساعدة !!!!!!! اهلا وسهلا باخي العزيزاسف على التأخير في الردالموضوع بسيط أخي العزيز ....نستخدم براميتر من نوع Out عندما اريد ان استخدم هذا المتغير خارج الــــــProcedureيعني بعد انتهاء الـــ Procedure من عمله يوجد قيم اريد ان أستخدمها فيما بعد خارج هذا الــ Procedureلذلك ان مضر احفظ هذه القيم داخل متغيرات وأستخدمها عند الحاجة .متى اقوم بتعريف هذه المتغيرات ...؟اقوم بتعريفها عند أستدعاء الــ Procedure ....!!!لماذا اقوم بتعريف المتغيرات عند أستدعاء الـــProcedure ...?لانه في كل مرة اقوم بأستدعاء الــــProcedure يعطيني قيمة جديدة للبراميترلذلك في كل مرة نقوم باستدعاء الـــProcedure نأخذ القيمة الجديدة ويضعها في المتغير الذي عرفناه في جملة الاستدعاءاما بالنسبة للجزء الثالث أخي العزيز ...الـــــــ If Statment الي انا كاتبها معناها اذا أدخل رقم موظف غير موجود اعطيه هذه القيم p_ename:='No Name'; p_dname:='No Dname'; بعدين أخي العزيز وظيفة الـــــ Loop تختلف عن وظيفة الــــــ If Statment ونحن في هذه الحالة لا نحتاج لحلقة تكرار لانوا عنا سطر واحد فقط للموظف واحدارجوا منك العودة للدروس السابقة للحلقات وجمل الشرط للمعرفة الفرق بينهموأستخدامات كل من الحلقات وجمل الشرط مشكور اخي على متابعة الدروس وأتمنى ان تستفيد منهاوانا أنشاء الله جاهز لأي استفسار في اي وقت بعدين أخي العزيز احنا ما تعرفنا على بعضانا أسمي موسى فلسطيني وعايش في الاردن 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
deamon بتاريخ: 6 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 6 يناير 2010 (معدل) جزاك الله خيرا جزاك الله خيرا جزاك الله خيرا يا أخ موسى أنا شاكر جدا على هذا التوضييح الرائع بلا نزاع بارك الله فيك وكثر من أمثالك تم تعديل 6 يناير 2010 بواسطة deamon اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 7 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 7 يناير 2010 شكرا يا موسى باشا بجد على الرد دا انا لسة هفهم الموضوع نظرا لطروف عائلية بس شوفت ردك على الموضوع وانا اسمي محمد سمير من مصر من القاهرة وانا بتشرف بمعرفتك وجزاك الله كل خير على المعلومات القيمة دي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 9 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 9 يناير 2010 جزاك الله خيرا جزاك الله خيرا جزاك الله خيرا يا أخ موسى أنا شاكر جدا على هذا التوضييح الرائع بلا نزاع بارك الله فيك وكثر من أمثالك الله يبارك فيك اخي الفاضل وإن شاء الله ستفيد من هذه الدروس اكثر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 9 يناير 2010 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 9 يناير 2010 شكرا يا موسى باشا بجد على الرد دا انا لسة هفهم الموضوع نظرا لطروف عائلية بس شوفت ردك على الموضوع وانا اسمي محمد سمير من مصر من القاهرة وانا بتشرف بمعرفتك وجزاك الله كل خير على المعلومات القيمة دي الله يبارك فيك اخي محمدانا الي الشرف اني تعرفت بيك اخي العزيزاليوم إن شاء الله سأكمل شرح الـــــــــــ Procedure اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
DrZevagoo بتاريخ: 9 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 9 يناير 2010 جزاك الله كل خير يا اخى عمل رائع ومشكور ومقبول باذن اللهالى جانب طريقة الشرح سهلة مبسطة للغاية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
masmas1001 بتاريخ: 10 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 10 يناير 2010 اخي العزيز miash80 ارجوا ان تكون بخير وفي احوال جيدة نحن بانتظارك لاكمال الدروس بهذا الاسلوب الذي تعودنا علية منك وجزاك الله خير ودوام الصحة والعافية اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
المبرمجة المبتدئة بتاريخ: 10 يناير 2010 تقديم بلاغ مشاركة بتاريخ: 10 يناير 2010 اخواني واخواتي مشرفين وأعضاء السلام عليكم ورحمة الله وبركاته وانا اسف للأنقطاع عن المنتدى مدة طويلة بسبب ظروف الحياة .وشكر خاص لكل من سئل عنيوالله يسعدكم جميعااليوم والحمدلله بدءت بكتابة بعض الدروس التي تشمل قسم 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; أتمنى ان اكون اوصلت معلومة بشكل صحيح ومناسب فإن أصبت فمن الله وإن أخطأت فمن الشيطان ،،إن شاء الله في المرة القادمة بعد الأخذ برأيكم وأسئلتكم سأبدء بكتابة الامثلة إن شاء اللهأدعو لي بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.