sara gamal بتاريخ: 23 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 23 يونيو 2009 السلام عليكمعندى trigger مفروض لما اعمل insert لمستخدم جديد في جدول ال users يروح يدخل رقم المستخدم مع رقم كل الفورم في جدول ال Security CREATE OR REPLACE TRIGGER new_user after insert on users for each row declare x number(10); cursor us_forms is select form_id from forms_reports; begin open us_forms ; loop fetch us_forms into x; exit when us_forms%notfound; insert into security values (:new.user_id,x,null,null,null,null); end loop; close us_forms; end; لما باجى ادخل مستخدم جديد بيظهر خطأORA-00001: unique constraint (HRMS.PK_SECURITY) violatedORA-06512: at "HRMS.NEW_USER", line 10ORA-04088: error during execution of trigger 'HRMS.NEW_USER' اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abdu1_far بتاريخ: 24 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 24 يونيو 2009 البريمري كي بتاع جدول السكيورتي فيه مشكلة ، إما انك حضرتك مش بتباصي القيمة فداخل ب null ، او عملت تكرار ياريت توضحي شكل الجدول بتاع السكيورتي والبراميري كي بتاع الجدول ده فين ؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sara gamal بتاريخ: 24 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 يونيو 2009 متهيألى ان ال primary key مفهوش مشكله هو عباره عن رقم المستخدو مع رقم الفورم الكود ده اصلا كنت عاملاه في procedure في فورم وكان شغال كويس بس قلت احسن انى اخليه trigger على ال database اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sara gamal بتاريخ: 24 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 24 يونيو 2009 لو سمحتم انا لسه معرفتش ايه المشكله في الكود ده مفروض ان من الكود ال key بيدخل ومفروض انه ميتكررش لان جمله ال insert داخل ال Cursor اذا في خطأ في الكود ياريت حد يوضحه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abdou1984 بتاريخ: 25 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 25 يونيو 2009 السلام عليكم الاخ الكريم يجب ان يكون هناك عمود اخر تالت مع primary key التى قمت باضافتها وليكن serial ويكون واخد من sequence او تزود قيمة serial فى كل مرة على مستوى المستخدم لانه على فرض ان المستخدم فتح فورمة معينة ونفس المستخدم فتح نفس الفورمة . حتلاقى عندك constraints بيشتغل علشان موضوع primary key لكن قم بعمل مسلسل او serial ودا حيفيدك لو حبيت تعرف كام مرة المستخدم دخل على فورمة معينة ياريت يكون الفكرة وضحت .... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 25 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 25 يونيو 2009 السلام عليكماختي سارة...هادا وصف الخطأ...واتوقع انه الخطأ ليس بالكود... ORA-00001: unique constraint violated --------------------------------------------------------------------------------Symptom:When inserting or updating data, the following error is returned:ORA-00001: unique constraint violated (<schema>.<constraint>)Cause:This error means that an attempt has been made to insert a record with a duplicate (unique) key. This error will also be generated if an existing record is updated to generate a duplicate (unique) key. Typically this is a duplicate primary key, but it need not be the primary key.Remedy:Only one of the following will be appropriate:Remove the unique restriction.Change the restriction to allow duplicate keys. An index could be changed to be a non-unique index, but remember that the primary key must always be unique.Do not insert the duplicate key. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abdu1_far بتاريخ: 25 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 25 يونيو 2009 الاخت سارة ...واحده واحدة كده .... اولا الكود مفهوش مشكلة برمجيا وتمام التمام ثانيا : الكود من الناحية المنطقيه فيه مشكلة زي ما قال الاخ abdou1984 ، ان اليوسر ممكن يشتغل على الشاشة اكتر من مرة ، منطقيا بالكود الي نات حضرتك كتبتيه ده معنى كده ان اليوسر الواحد ما ينفعش يدخل على الشاشة الواحدة اكتر من مرة ....... ثالثاً : الايرور اللي طالع معناه انك كسرتي قيد موجود في البريمري كي بتاع الجدول ، وده بحاجة من اتنين ملهمش تالت ، يا اما قيمة البرايمي NULL ، يا أما فيه تكرار عشان نعرف فين المشكلة بالظبطمحتاجين تبعتلنا نتيجة جملة السلكتاية ده select form_id from forms_reportsوكمان اسم اليوسر ايه اللي انت داخله بيه الشاشة ...وان شاء الله نقدر نساعدكسلام عليكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sara gamal بتاريخ: 25 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 25 يونيو 2009 (معدل) السلام عليكماشكركم على الردانا وضعت ناتج جمله ال select وشكل الجداول المستخدمه بس بصراحه انا مش فاهمه ايه مشكله القلته عليها دى متهيألى ان الفكره العملاها فهمناها بطريقه تانيه الجدول بتاع ال security مش اكتر ان بسجل فيه صلاحيات كل مستخدم على كل الفورم من حيث الدخول وعمل insert and update and delete لانه على فرض ان المستخدم فتح فورمة معينة ونفس المستخدم فتح نفس الفورمة . حتلاقى عندك constraints بيشتغل علشان موضوع primary key لكن قم بعمل مسلسل او serial بصراحه مش فاهمه يعنى ايه بس هحاول اوصل فكرتى لو مستخدم عايز يفتح فورمه بيشوف له صلاحيه الدخول بيدخله لو لا مش بيدخله الفكره اصلا ان عايزه لما اعمل مستخدم جديد في المشروع بدل ما ادخل رقم المستخدم الجديد مع رقم كل فورمه عشان بعدين املى الصلاحيات اعمل trigger على مستوى ال database اول ما ادخل مستخدم جديد يضع في جدول ال security رقم المستخدم مع ال 26 فورم العندى انا كده مكررتش لانه مفروض يدخل لو رقم المستخدم 33 و13 و2 3 و3 وهكذاDesktop.rar تم تعديل 25 يونيو 2009 بواسطة sara gamal اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
abdu1_far بتاريخ: 29 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 29 يونيو 2009 الاخت سارة المشكلة اتحلت مع حضرتك ولا لأ لو اتحلت ممكن تضعي الحل للاستفادة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sara gamal بتاريخ: 29 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 29 يونيو 2009 لا لسه المشكله زي ماهى لو وصلت لحاجه بأذن الله هكتبها اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mustafagamiel بتاريخ: 30 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 30 يونيو 2009 السلام عليكمبالنسبة لحل هذه المشكلة أمامك اختيارين الاول حذف ال fk الموجود على جدول ال security الخاص بالعمود user_id طبعا ده حل مش منطقيالحل الثاني وهو فقط عند انشاء الجدول يتم ترتيب الاعمدة غير ماتم ذكره يتم وضع عمود ال user_id قبل عمود form_id يعني يتم حذف جدول ال security وإعادة بناؤه بالترتيب الاي قولته وهو وضع عمود user_id في الاولمنتظر التجربة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sara gamal بتاريخ: 30 يونيو 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 30 يونيو 2009 الحمد لله فعلا اتعملت جزاك الله خيرا طيب هو كان ينفع بدل ما انشئ الجدول مره اخرى اغير ترتيب الcolumns في جمله ال insert يعنى اخلى form_id الاول وبعدين user_idولا برده هيظهر نفس الخطأ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mustafagamiel بتاريخ: 30 يونيو 2009 تقديم بلاغ مشاركة بتاريخ: 30 يونيو 2009 لا ماهي المشكلة بالفعل في تريتب عملية الادخال في التريجر فقط لاغير فلو تركتي الجدول كما هو كان لابد من تغيير فقط الترتيب في جملة ال insert ولكي يتم تجنب الاخطاء الاي زي دي لابد من كتابة وتحديد اسماء الاعمدة في جملة ال insert قبل ال values اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.