بتاريخ: 4 يناير 200620 سنة comment_56676 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; تقديم بلاغ
بتاريخ: 5 يناير 200620 سنة comment_56735 أخي محمدبالنسبة للخطأ في البرنامج فإن الدوران هو عبارة عن دوران غير نهائي أيINFINITE LOOPحيث أن قيمة المتغير Z لا تتغير..إذا أردتها أن تقرأ من الجدول فعليك باستخدام ال CURSORأما إذا كانت قيمة (MAX(DEPTNO أكبر من 2 فإنه سوف يعمل INSERT لمرة واحدة تقديم بلاغ
بتاريخ: 7 يناير 200620 سنة comment_56875 السلام عليكم ورحمة الله وبركاتهكلام الاخ/محمد1980 صحيح جدا ولتعديل هذا البلوك ارجو اضافة الجملة الاتيةz=z+1 قبل جملة end loop حتى يمكن للدوران ان يتم يشكل صحيحوجزاكم الله خيرا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.