• 0

كيف أستعمل إجراء 'Procedure' بها دالة التكرار loop في ORACLE ؟

أستعمل نظام قواعد البيانات 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

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

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

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 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;

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن