الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيف احل هذا الخطا في الtrigger

Featured Replies

بتاريخ:

قمت باضافة سجل الى الجدول الرئيسي واسمه 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 3
ORA-04088: ظهر خطا اثناء تنفيذ الزناد PLGS.INS_PDATA'

وبالتالي لم استفد من هذا trigger ومن عملة افيدوني بحل هذه المشكلة'

بتاريخ:
  • كاتب الموضوع

معقول ما حد عارف الحل لهذي المشكله لانها جننتني

بتاريخ:

السلام عليكم ورحمة الله وبركاته
اخي فالله
بعد التحية
اعتقد ان انت عندك مشكله في الحقل ATT_NO في جدول ال attendants معمول NOT NULL وانت ما بترسله من التريجر
فام تقوم بعمل قيمة افتراضيه لل الحقل ATT_NO بجدول attendants
او عمل INSERT له فالتريجر بقيمة معينه مثلا صفر

اتمني ان تجد ضالت في هذه السطو ر المتواضعه
وفقك الله الى ماتحب ويرضي
ابقي علمني بالنتيجه اشتغلت او مااشتغلت

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.