محمد سعيد بتاريخ: 4 يناير 2006 تقديم بلاغ مشاركة بتاريخ: 4 يناير 2006 SET SERVEROUTPUT ON;DECLAREX VARCHAR2(34):='SALES';Y VARCHAR2(233):='DALLAS';Z NUMBER(2):=1;V NUMBER(2);BEGINSELECT MAX(DEPTNO) INTO VFROM DEPT WHERE LOC=Y;LOOPINSERT INTO DEPT(DEPTNO,DNAME,LOC)VALUES((V+Z),X,Y)EXIT WHEN Z>3;END LOOP;END; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد1980 بتاريخ: 5 يناير 2006 تقديم بلاغ مشاركة بتاريخ: 5 يناير 2006 أخي محمدبالنسبة للخطأ في البرنامج فإن الدوران هو عبارة عن دوران غير نهائي أيINFINITE LOOPحيث أن قيمة المتغير Z لا تتغير..إذا أردتها أن تقرأ من الجدول فعليك باستخدام ال CURSORأما إذا كانت قيمة (MAX(DEPTNO أكبر من 2 فإنه سوف يعمل INSERT لمرة واحدة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
seif2000 بتاريخ: 7 يناير 2006 تقديم بلاغ مشاركة بتاريخ: 7 يناير 2006 السلام عليكم ورحمة الله وبركاتهكلام الاخ/محمد1980 صحيح جدا ولتعديل هذا البلوك ارجو اضافة الجملة الاتيةz=z+1 قبل جملة end loop حتى يمكن للدوران ان يتم يشكل صحيحوجزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
محمد سعيد بتاريخ: 20 يناير 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 يناير 2006 جزاكم الله خيرااااااااااااااا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.