بتاريخ: 13 ديسمبر 200520 سنة comment_54199 السلام عليكم ورحمة الله وبركاتهأرجو مساعدتي في حل هذا السؤالأنشئ روتيناً اسمه ADD_PROD لإدراج منتج جديد في جدول المنتجات PRODUCT ،استخدم رقم المنتج و الوصف كباراميترات للروتين .-- نفذ الروتين المكتوب في الفرع الأول أعلاه ، ثم استدعي الروتين مع إعطائه مدخلات معينة ، ومن ثم استفسر عن جدول المنتجات PRODUCT لملاحظة النتائج .وشكرا لكم تقديم بلاغ
بتاريخ: 13 ديسمبر 200520 سنة comment_54217 مرحبا أخي الكريمإليك الإجراء التالي الذي يقوم بإضافة رقم منتج واسمه :CREATE OR REPLACE PROCEDURE ADD_PROD(NEW_PROD_NUM IN DEPT.DEPTNO%TYPE, NEW_PROD_NAME IN DEPT.DNAME%TYPE )ISBEGIN INSERT INTO PRODUCT(PROD_NUM,PROD_NAME) VALUES(NEW_PROD_NUM,NEW_PROD_NAME);END ADD_PROD;وتسطيع تنفيذه :EXECUTE ADD_PROD(10,'THE PRODUCT NAME');على حسب مافهمت منك .... أرجو أن يكون هذا هو ماتريد تقديم بلاغ
بتاريخ: 14 ديسمبر 200520 سنة كاتب الموضوع comment_54300 أشكرك أخي الكريم الطريقة ناجحة 100%أشكرك من أعماق قلبي تقديم بلاغ
بتاريخ: 14 ديسمبر 200520 سنة كاتب الموضوع comment_54301 طيب أخي الكريم (( هنالك سؤالان أيضا متعلقان به )) ممكن ؟ أنا بتعبك معاي لكن اسمح لي فأنا مبتدأوهو : أنشئ روتيناً اسمه UPD_PROD لتعديل وصف منتج لمنتجٍ ما في جدول PRODUCT وزود هذا الروتين ببراميتر يمثل رقم المنتج وآخر يمثل الوصف الجديد ، أضف جزءاً خاصاً بمعالجة إستثناء عدم وجود منتج للتعديل .-- نفذ الروتين المكتوب في الفرع أعلاه ، ثم استدع الروتين مع إعطائه مدخلات معينة ، ومن ثم استفسر عن جدول المنتجات PRODUCT لملاحظة النتائج .قم بمناداة الروتين مع تزويده برقم منتج غير موجود في الجدول.-----------------------------------------------------------------------أنشئ روتيناً اسمه DEL_PROD لحذف منتج ما في جدول PRODUCT ، وزود هذا الروتين ببراميتر يمثل رقم المنتج المراد حذفه ، أضف جزءاً خاصاً بمعالجة إستثناء عدم وجود منتج للحذف .-- نفذ الروتين المكتوب في الفرع أعلاه ، ثم استدع الروتين مع إعطائه مدخلات معينة ، ومن ثم استفسر عن جدول المنتجات PRODUCT لملاحظة النتائج .قم بمناداة الروتين مع تزويده برقم منتج غير موجود في الجدول. تقديم بلاغ
بتاريخ: 15 ديسمبر 200520 سنة comment_54357 تكرم عينك أخي المنار ... الإجراء التالي يقوم بتحديث اسم صنف بالاعتماد على رقمه إن كان هذا الرقم موجود أصلا.. وفي حال عدم وجود هذا الرقم يقوم بإدخال هذا الرقم واسمه بسطر جديد ..بس أنا عملتلك إجراء الـ UPDATE وتركتلك مهمة الـ DELETE يعني من المفروض أنك تكون قادر على إنشاؤه لأنه على نفس مبدأ الـ UPDATE ... وعم أنتظر منك شوف إجراء الحذف كيف كتبته ... OKCREATE OR REPLACE PROCEDURE UPD_PROD(OLD_NUM IN PRODUCT.PRO_NUM%TYPE, NEW_NAME IN PRODUCT.PRO_NAME%TYPE)ISBEGINUPDATE PRODUCT SET PRO_NAME = NEW_NAMEWHERE PRO_NUM = OLD_NUM;IF SQL%NOTFOUND THEN INSERT INTO PRODUCT(PRO_NUM,PRO_NAME)VALUES(OLD_NUM,NEW_NAME);END IF;END;الآن بإمكانك التشييك وتنفيذه :--FOR EXECUTE EXAMPLE :--EXECUTE UPD_PROD(NUMBER,'THE NAME')''عم أنتظر منك PROCEDUR DEL_PROD تقديم بلاغ
بتاريخ: 15 ديسمبر 200520 سنة كاتب الموضوع comment_54360 أخي الكريم هنالك نقطة لم تضعها وهي (( أضف جزءاً خاصاً بمعالجة إستثناء عدم وجود منتج للتعديل )) يعني إذا أضفت رقم غير موجود تظهر لي رسالة تخبرني بذلكأرجو أنك تضع هذه النقطةوسوف أقوم بوضع الحل الخاص بالحذف لكي تراهوشكرا تقديم بلاغ
بتاريخ: 15 ديسمبر 200520 سنة comment_54373 الأخ الكريم :إذ كنت تعمل في بيئة SQL*PLUSأولا نفذ :SET SERVEROUTPUT ON;ثم إليك الكود التالي :CREATE OR REPLACE PROCEDURE UPD_PROD(OLD_NUM IN PRODUCT.PRO_NUM%TYPE,NEW_NAME IN PRODUCT.PRO_NAME%TYPE)ISBEGINUPDATE PRODUCT SET PRO_NAME = NEW_NAMEWHERE PRO_NUM = OLD_NUM; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE('لايوجد صنف له هذا الرقم ... تم إضافة صنف جديد '); INSERT INTO PRODUCT(PRO_NUM,PRO_NAME) VALUES(OLD_NUM,NEW_NAME); --THEN IF YOU DONT WANT INSERT YOU CAN DELETE INSERT STATMENT AND UPDATE THE MESSAGE END IF;END;أما إذا كنت تريد استعمال هذا الإجراء في الفورمفإليك الكود التالي :CREATE OR REPLACE PROCEDURE UPD_PROD(OLD_NUM IN PRODUCT.PRO_NUM%TYPE,NEW_NAME IN PRODUCT.PRO_NAME%TYPE)ISMSG NUMBER;BEGINUPDATE PRODUCT SET PRO_NAME = NEW_NAMEWHERE PRO_NUM = OLD_NUM; IF SQL%NOTFOUND THEN SET_ALERT_PROPERTY('ALERT_NAME',ALERT_MESSAGE_TEXT,'لايوجد صنف بهذا الرقم ... هل تريد إضافة صنف جديد له هذا الرقم'); MSG := SHOW_ALERT('ALERT_NAME'); IF MSG = ALERT_BUTTON1 THEN INSERT INTO PRODUCT(PRO_NUM,PRO_NAME) VALUES(OLD_NUM,NEW_NAME); ELSIF MSG = ALERT_BUTTON2 THEN NULL; END IF; END IF;END;طبعا بهذه الحالة عليك إنشاء ALERT تسميها الاسم المطلوبوبالنسبة لعملية INSERT في حال عدم وجود صنف فهي راجعة لك بإمكانك إضافتها أو حذفها .. تقديم بلاغ
بتاريخ: 15 ديسمبر 200520 سنة كاتب الموضوع comment_54385 مشكوووووووووووووووووووووووروهذا البرنامج حق الحذفها عدل ولا لا ؟ SQL > CREATE OR REPLACE PROCEDURE DEL_PROD (OLD_NUM IN PRODUCT.PROD_NUM%TYPE, NEW_NAME IN PRODUCT.PROD_NAME%TYPE) IS BEGIN DELETE FROM PRODUCT WHERE PROD_NUM=OLD_NUM; IF SQL%NOTFOUND THEN DBMS_OUTPUT.PUT_LINE(' لايوجد صنف له هذا الرقم ') COMMIT; END IF; END DEL_PROD; / SQL > EXECUTE DEL_PROD(NUMBER,'THE NAME'); تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.