بتاريخ: 17 أبريل 201412 سنة comment_249394 معذرة أنا ضعيفة في اللغة العربية j'ai creé cette procedure 8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888______________ create or replace procedure ajout_commande (ncl1 in number,nprod1 in number,qtecom in number,payment in number) as prix number; ancien_sold number; sold_du_client number; begin insert into commande_f values (ncom_seq.nextval,1,ncl1,sysdate,nprod1,qtecom,payment); select sold into ancien_sold from client_f where client_f.ncl=ncl1; select prixu into prix from produit_f where produit_f.nprod=nprod1; sold_du_client:=ancien_sold+qtecom*prix-payment; update client_f set client_f.sold=sold_du_client where client_f.ncl=ncl1; end; / _________________________________ ___________________________________ عندما أردت إضافة exec ajout_commande(1,1,24,2500); ضهر خذا الحطأ ERROR at line 1: ORA-01403: no data found ORA-06512: at "KENZA.AJOUT_COMMANDE", line 9 ORA-06512: at line 1 أرجوا الحل من فضلكم تم تعديل 18 أبريل 201412 سنة بواسطة Ahmad.Hasan تقديم بلاغ
بتاريخ: 17 أبريل 201412 سنة comment_249400 السلام عليكم ورحمة الله وبركاته الأخ / الأخت .. kenza الحل هو وضع exception لارجاع قيمة فى حال عدم العثور على اي قيمة للباراميتر توجد حلول عديدة لهذا السؤال ف المنتدي .. الرجاء استخدام البحث تقديم بلاغ
بتاريخ: 18 أبريل 201412 سنة comment_249403 الأخ sam_t : كان يكفيك ان تضع حل كما قال الأخ ENG_HOSSAM_WALLY الحل هو وضع exception والفكرة هو ان حضرتك عرفتي variable وقمتى بعمل select لكي ترجع قيمة في هذا المتغير ولكن لم توجد بيانات فى قاعدة البيانات لترجع فى هذا المتغير فحصل هذا الخطأ لذا يجب اضافة هذه السطور فى الكود exception when no_data_found then null; تقديم بلاغ
بتاريخ: 18 أبريل 201412 سنة كاتب الموضوع comment_249410 جزاك الله خيرا حلت المشكلة بفضلك merci beaucoup تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.