بتاريخ: 28 أبريل 201313 سنة comment_235494 عندي جددولين orders and stock Orders Orderid itemid Orderdate Qty Unitprice Totalprice Stock itemid qty يتم عمل trigger يقوم بحساب totalprice قبل تسجيلهم في جدول orders يتم عمل trigger يقوم بخصم الصنف الذى تم شرائه بحسب الكمية التي تم شرائه يتم عمل trigger عند الحذف يتاكد من انه لم يمر 14 يوم على الشراء عند تنفيذ هذا الشرط يقوم بارجاع القيمة الى جدول المخزن مرة أخرى -----------------------------------------------------ده اللي أنا عملته بس هل ده صح ولا غلطcreate table orders (order_id number,item_id number,order_date date,quantity number,unit_price number,total_price number) create table stock ( item_id number, stock number) --------------------------- create or replace trigger orders_trg before insert on orders for each row begin ;total_price:= :new.unit_price * :new.quantity ;end first trigger to calculate the total price-- ---------------------------------------------------- create or replace trigger stock_trg after insert on orders for each row begin update stock set :new.stock :=:old.stock - :new.orders.quantity ;where item_id = orders.item_id ;end second trigger to subtract the items that orderd from stock-- ---------------------------------------------------------------------------------- create or replace trigger orders_stock_trg before delete on orders for each row begin if(sysdate - order_date >14) then ;new.stock =:old.quantity: ;end if ;end -- Third trigger to sure that stock have same quantity before deleting from orders. تقديم بلاغ
بتاريخ: 28 أبريل 201313 سنة comment_235507 هذا هو الكود الصحيح للتريقر الاول --create table orders (order_id number,item_id number,order_date --date,quantity number,unit_price number,total_price number); --create table stock (item_id number, stock number); create or replace trigger orders_trg before insert on orders for each row declare total_price number; begin total_price := (:new.unit_price * :new.quantity); dbms_output.put_line(total_price); end; / show error أحاول الان في حل الاكواد الباقية باذن الله بعد الظهر تقديم بلاغ
بتاريخ: 28 أبريل 201313 سنة كاتب الموضوع comment_235522 هذا هو الكود الصحيح للتريقر الاول --create table orders (order_id number,item_id number,order_date --date,quantity number,unit_price number,total_price number); --create table stock (item_id number, stock number); create or replace trigger orders_trg before insert on orders for each row declare total_price number; begin total_price := (:new.unit_price * :new.quantity); dbms_output.put_line(total_price); end; / show error أحاول الان في حل الاكواد الباقية باذن الله بعد الظهر هوة كده شغال الحمدلله هنتظر باقي الاكواد ان شاء الله وجزاك الله خيرا تم تعديل 28 أبريل 201313 سنة بواسطة منمون علي تقديم بلاغ
بتاريخ: 29 أبريل 201313 سنة comment_235542 أخي الكريم جدول الـ stock ناقص عمود :unit_price اضف العمود وفي التريقر الثالث طبق امر الاضافة insert بهذا الشكل create or replace trigger orders_stock_trg before delete on orders for each row begin if(sysdate - order_date) <14 then insert into stock (unit_price) values (:old.unit_price) end if; end; / show error ــــــــــــــــ بالنسبة للتريقر الثاني مافهمت ايش المطلوب بالظبط ان شاء الله أكون أفدتك وساعدتك تقديم بلاغ
بتاريخ: 30 أبريل 201313 سنة كاتب الموضوع comment_235582 أخي الكريم جدول الـ stock ناقص عمود :unit_price اضف العمود وفي التريقر الثالث طبق امر الاضافة insert بهذا الشكل create or replace trigger orders_stock_trg before delete on orders for each row begin if(sysdate - order_date) <14 then insert into stock (unit_price) values (:old.unit_price) end if; end; / show error ــــــــــــــــ بالنسبة للتريقر الثاني مافهمت ايش المطلوب بالظبط ان شاء الله أكون أفدتك وساعدتك بالنسبة للمطلوب التاني هوة عاوز بعد ما ادخل الاوردر أروح اخصم الكمية اللي دخلت في الاوردر من stock تقديم بلاغ
بتاريخ: 30 أبريل 201313 سنة كاتب الموضوع comment_235583 أخي الكريم جدول الـ stock ناقص عمود :unit_price اضف العمود وفي التريقر الثالث طبق امر الاضافة insert بهذا الشكل create or replace trigger orders_stock_trg before delete on orders for each row begin if(sysdate - order_date) <14 then insert into stock (unit_price) values (:old.unit_price) end if; end; / show error ــــــــــــــــ بالنسبة للتريقر الثاني مافهمت ايش المطلوب بالظبط ان شاء الله أكون أفدتك وساعدتك بالنسبة للتريجر التالت بيديني error هوة المفروض update مش insert لأني انا عاوزة ارجع قيمة الشراء القديمة بدل اللي كانت موجودة فأنا عدلتها كده بس عندي error مش عارفة اصلحه ياريت لو تساعدني في حل الerror ---------------------------------------------- create or replace trigger orders_stock_trg before delete on orders for each row declare order_date date; unit_price number; unitprice number; begin if ((sysdate - order_date) < 14 ) then update stock set unitprice := :old.unit_price where item_id =orders.item_id; end if; end; / show error -------------- error: LINE/COL ERROR 8/8 PL/SQL: SQL Statement ignored 9/23 PL/SQL: ORA-00927: missing equal sign تم تعديل 30 أبريل 201313 سنة بواسطة منمون علي تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.