عمرو بتاريخ: 7 مايو 2004 تقديم بلاغ مشاركة بتاريخ: 7 مايو 2004 اريد ان ابنى تيبل يتكون من صف واحد فقط لا غير و لا يستطيع اليوزر ان يدخل صف اخر غيره هل هذا ممكن ؟؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبداللطيف بتاريخ: 8 مايو 2004 تقديم بلاغ مشاركة بتاريخ: 8 مايو 2004 تحياتي للجميع يوجد العديد من الطرق ومنها ان تضع عن ماحولتها الاضافة مثلاً select count(code) into :text1. from emp;if :text = 1 thenmessage 'لايمكن اضافة اكثر من سجل';....... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عمرو بتاريخ: 8 مايو 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 مايو 2004 شكرا اخى توفى على هذا الكود الفعال و لاكن كنت اسئل إن كان يمكن هذا عند بناء التيبول على الداتا بيز ام لا على اى حال هذا الكود يفى بالغرض و انا اشكرك مره اخرى يا اخى العزيز اخوك عمرو اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
KhalidOCP بتاريخ: 9 مايو 2004 تقديم بلاغ مشاركة بتاريخ: 9 مايو 2004 الاخ عمرو جرب هذا الكود انا جربته و زبط :اعمل trigger على التيبل كما يلي : create or replace trigger bef_ins before insert on khalid declare tot number ; begin select count(*) into tot from khalid; if tot >= 1 then raise_application_error(-20222,'You cants insert more than one record at this table') ; end if ; end ; / بحيث khalid هو اسم التيبل هنا عند اضافة اكثر من record يعطي ال error التالي : ORA-20222: You cants insert more than one record at this table ORA-06512: at "UNIV.BEF_INS", line 8 ORA-04088: error during execution of trigger 'UNIV.BEF_INS' اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله ندا بتاريخ: 9 مايو 2004 تقديم بلاغ مشاركة بتاريخ: 9 مايو 2004 مشكور اخي خالد علي هذا الكود ولكن الا تعتقد انه لن يعمل بسبب table mutationحيث انك تقوم بعمل سلكت من جدول يتم الادخال به وشيئ اخر هذا الزناد علي ليس علي مستوي كل صف معني ذلك انه من اول مره يمكن عمل ادخال لعدد لانهائي من الصفوف بدون ان يتحرك الزناد لانه يعمل مره واحده فقط عند ارسال مجموعة جمل insert وليس for each rowالحل يكمن في وضع ريكور واحد فقط في الجدول ثم كتابة زناد يمنع عملية الادخال او الديليتحيث يسمح ب التعديل فقط create or replace trigger bef_ins before inaert on khalid for each row raise_application_error(-20222,'You cants insert in this table') ; end; create or replace trigger bef_del before delete on khalid for each row raise_application_error(-20222,'You cants delete from this table') ; end; او استخدام if inserting , if deleting , في تريجر واحد او تريجر واحد علي مستوي الادخال و المسح الحلول كثيرة مع تمنياتي بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عمرو بتاريخ: 9 مايو 2004 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 9 مايو 2004 مشكورين إخوانى على هذه الإجابه و انا اعتقد ان الكود الثانى يمشى مع إحتياجاتى اشكركم و جزاكم الله خيرا اخوكم عمرو اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.