اذهب إلى المحتوى

السؤال

نشر (معدل)

أستعمل نظام قواعد البيانات ORACLE حاليا، وأريد إنشاء إجراء Procedure يضم دالة loop يُمكنني من إدخال العديد من القيم في جدول،وقد حاولت بواسطة الكود التالي:

CREATE OR REPLACE PROCEDURE ADDSTEP(nbrStep character varying)
is
i integer :=0;

BEGIN
      FOR i IN 0..nbrStep LOOP
       INSERT INTO mytabletest
       VALUES (i);
    END LOOP;
    END;

لكن لم أُفلح في فعل ذلك، وهذا ما حصلت عليه:

PROCEDURE ADDSTEP compiled
Errors: check compiler log

هل من حل للمشكلة ؟

تم التعديل في بواسطة محمد بوسكوري

Recommended Posts

  • 0
نشر

هناك خطأين في الكود، هما كالتالي:

  •     : nbrStep character varying

تعريف المتغير nbrStep  يجب أن يكوم من نوع NUMBER لأنه سيكون بمثابة العداد في Loop.

  • FOR i IN 0..nbrStep LOOP :

في loop For  على ORACLE تبدأ بالقيمة 1 وليس 0.

ليصبح الاجراء 'Procedure' كالتالي:

CREATE OR REPLACE PROCEDURE ADDSTEP(nbrStep NUMBER)
is
i integer :=1;

BEGIN
      FOR i IN 0..nbrStep LOOP
       INSERT INTO mytabletest
       VALUES (i);
    END LOOP;
END;

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...