بتاريخ: 12 مايو 201016 سنة comment_191733 السلام عليكم و رحمة الله و بركاته بعد التحية لكل القائمين على هذا الموقع الرائع و الاخوه الأعضاء ،، انا اريد أشكركم جميعا قبل أن أطرح سؤالي و ذلك لحجم الاستفادة التي حصلت عليها منكم في السنين السابقة عسى الله أن يجزيكم كل الخير ،،،و أقل كلمة تستحقونها هي شكراجزيلا لكم جميعا .. الموضوع الذي أنا بصددة الآن هو أنني أريد أن اجد طريقة أضيف بها sequence على DataBase في كل مرة يضيف بها المستخدم فرع جديد على النظام الذي قمت بإنشائة بعد البحث في المشاركات السابقة وجدت أداة و هي FORMS_ddl و EXECUTE Immediate فقمت بكتابة هذة الجملة كالآتي : FORMS_ddl ('CREATE SEQUENCE'|| to_char(b_name) ||' START WITH 1 INCREMENT BY 1 nocache nocycle nomaxvalue'); EXECUTE IMMEDIATE ('CREATE SEQUENCE'||coop_name_v||' START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCACHE NOCYCLE');و لكن المشكلة هي أن الجملتين لا تقبل أن يكون اسم sequence متغير كما هو موضح بالمثالين و لكن اذا كتبت نفس الجملة بإسم ثابت فإنها تعمل بدون مشاكل مثال: EXECUTE IMMEDIATE ('CREATE SEQUENCE branch_name START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCACHE NOCYCLE'); أو FORMS_ddl ('CREATE SEQUENCE branch_name START WITH 1 INCREMENT BY 1 nocache nocycle nomaxvalue'); فما هو الحل لهذه المشكلة أريد طريقه أستطيع انشاء sequence دون تحديد الاسم يدوي الرجاء من لديه الإجابة ان يسعفني بأسرع وقت ممكن تقديم بلاغ
بتاريخ: 12 مايو 201016 سنة comment_191751 يا أخ حسين من الذي ذهب بك لهذا الطريق؟هناك حلو رائع لو تريد اضافة كود لفرع جديد في pre insert قم بعمل التالي مفترضا أن الجدول اسمه branch والحقل اسمه br_code select nvl(max(br_code)+1),0 into :branch.br_code from branch; مش لازم سيكونس ولو مصر (ملح يعني) علي السويكنس بلغني واحلها لك باذن الله تعالي أحمد تقديم بلاغ
بتاريخ: 12 مايو 201016 سنة comment_191752 select nvl(max(br_code)+1,0) into :branch.br_code from branch; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.