بتاريخ: 25 يناير 200620 سنة comment_58468 DECLARE V NUMBER; X VARCHAR2(22):='ACOUNTING'; Y VARCHAR2(32):='DALLAS'; S NUMBER:=1; BEGIN S:=V+10; SELECT MAX(DEPTNO) INTO V FROM DEPT; LOOP INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES((S+V),X,Y); EXIT WHEN S=80; END LOOP; END; / تقديم بلاغ
بتاريخ: 26 يناير 200620 سنة comment_58495 جرب هذا اخوي DECLARE V NUMBER; X VARCHAR2(22):='ACOUNTING'; Y VARCHAR2(32):='DALLAS'; S NUMBER:=1; BEGIN SELECT nvl(MAX(DEPTNO),0) INTO V FROM DEPT; LOOP S := V + 10; INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES((S+V),X,Y); Dbms_Output.Put_Line(s); v:= v +1; EXIT WHEN S= 80; END LOOP; END; تقديم بلاغ
بتاريخ: 26 يناير 200620 سنة كاتب الموضوع comment_58550 لم يعمل اخى يعطى رسالة خطأ value larger than column تقديم بلاغ
بتاريخ: 27 يناير 200620 سنة comment_58590 السلام عليكم أخي العزيز جرب هذا الكودDECLARE V NUMBER; X VARCHAR2(22):='ACOUNTING'; Y VARCHAR2(32):='DALLAS';BEGIN SELECT MAX(DEPTNO) INTO V FROM DEPT; LOOP V:=V+10; INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES((V),X,Y); EXIT WHEN V=80; END LOOP;END;/ تقديم بلاغ
بتاريخ: 27 يناير 200620 سنة comment_58592 جرب هذا اخي اذا فشل الكود السابق انا ما في عندي sql عشان اجرب في الوقت الحالي مع الاسفDECLAREV NUMBER:=0;X VARCHAR2(22):='ACOUNTING';Y VARCHAR2(32):='DALLAS';BEGINSELECT MAX(DEPTNO) INTO V FROM DEPT;LOOPV:=V+10;INSERT INTO DEPT(DEPTNO,DNAME,LOC)VALUES((V),X,Y);EXIT WHEN V=80;END LOOP;END; تقديم بلاغ
بتاريخ: 31 يناير 200620 سنة comment_58985 هذا الكود بعد التجربة صحيح 100% انشاء اللهكان لديك خطا ال infinity loop وايضا انك تعمل استخدام عمليات حسابيةعلى قيمة v وهي لاتزال null وانت لم تعطها قيمة ابتدائية فكانت الاضافة للبرايمري كي null ايضا (s+v) ليس لها داعي الآناذا لم يلبي هذا الحل احتياجك خبرني وانشاء الله نحن بالعون DECLARE V NUMBER; X VARCHAR2(22):='ACOUNTING'; Y VARCHAR2(32):='DALLAS'; S NUMBER:=1; BEGIN SELECT MAX(DEPTNO) INTO V FROM DEPT; S:=V+10; LOOP INSERT INTO DEPT(DEPTNO,DNAME,LOC) VALUES(S,X,Y); EXIT; END LOOP; END; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.