nan740 بتاريخ: 1 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 1 سبتمبر 2008 قمت باضافة سجل الى الجدول الرئيسي واسمه p_data بعد ذلك انشئت هذا الترايجر create or replace trigger ins_pdata after insert or delete or update on p_data for each row begin if inserting then insert into attendants (att_p_no) values(:new.p_no); insert into saintary_Data (saint_p_no) values(:new.p_no); insert into services (serv_p_no) values(:new.p_no); insert into accounts (acc_p_no) values(:new.p_no); insert into payments (pay_p_no) values(:new.p_no); insert into RETURN_JOURNEY (re_p_no) values(:new.p_no); insert into going_journey (go_p_no) values(:new.p_no); insert into going_journey_edit (go_e_p_no) values(:new.p_no); insert into return_journey_edit (re_e_p_no) values(:new.p_no); insert into services_edit (ser_e_p_no) values(:new.p_no); insert into p_image (ima_p_no) values(:new.p_no); insert into users (user_p_no) values(:new.p_no); elsif deleting then delete from attendants where att_p_no=:old.p_no; delete from saintary_data where saint_p_no=:old.p_no; delete from services where serv_p_no=:old.p_no; delete from accounts where acc_p_no=:old.p_no; delete from payments where pay_p_no=:old.p_no; delete from going_journey where go_p_no=:old.p_no; delete from going_journey_edit where go_e_p_no=:old.p_no; delete from return_journey where re_p_no=:old.p_no; delete from return_journey_edit where re_e_p_no=:old.p_no; delete from services_edit where ser_e_p_no=:old.p_no; delete from p_image where ima_p_no=:old.p_no; delete from users where user_p_no=:old.p_no; elsif updating then update attendants set att_p_no=:new.p_no where att_p_no=:old.p_no; update saintary_data set saint_p_no=:new.p_no where saint_p_no=:old.p_no; update services set serv_p_no=:new.p_no where serv_p_no=:old.p_no; update accounts set acc_p_no=:new.p_no where acc_p_no=:old.p_no; update payments set pay_p_no=:new.p_no where pay_p_no=:old.p_no; update return_journey set re_p_no=:new.p_no where re_p_no=:old.p_no; update return_journey_edit set re_e_p_no=:new.p_no where re_e_p_no=:old.p_no; update going_journey set go_p_no=:new.p_no where go_p_no=:old.p_no; update GOING_JOURNEY_EDIT set go_e_p_no=:new.p_no where go_e_p_no=:old.p_no; update SERVICES_EDIT set ser_e_p_no=:new.p_no where ser_e_p_no=:old.p_no; update P_IMAGE set ima_p_no=:new.p_no where ima_p_no=:old.p_no; update USERS set user_p_no=:new.p_no where user_p_no=:old.p_no; end if; exception when no_data_found then null; end; وتم الانشاء بدون اي اخطاءبعدين عندما حاولت الاضافه مره اخرى ظعرت لي رسالة الخطا التاليهORA-01400: لا يجوز ادارج في null ("PLGS"."ATTENDANTS"."ATT_NO"ORA-06512: عند "PLGS.INS_PDATA", line 3ORA-04088: ظهر خطا اثناء تنفيذ الزناد PLGS.INS_PDATA'وبالتالي لم استفد من هذا trigger ومن عملة افيدوني بحل هذه المشكلة' اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nan740 بتاريخ: 1 سبتمبر 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 1 سبتمبر 2008 معقول ما حد عارف الحل لهذي المشكله لانها جننتني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmed Zain بتاريخ: 3 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 3 سبتمبر 2008 السلام عليكم ورحمة الله وبركاتهاخي فاللهبعد التحيةاعتقد ان انت عندك مشكله في الحقل ATT_NO في جدول ال attendants معمول NOT NULL وانت ما بترسله من التريجرفام تقوم بعمل قيمة افتراضيه لل الحقل ATT_NO بجدول attendants او عمل INSERT له فالتريجر بقيمة معينه مثلا صفراتمني ان تجد ضالت في هذه السطو ر المتواضعهوفقك الله الى ماتحب ويرضيابقي علمني بالنتيجه اشتغلت او مااشتغلت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.