الانتقال إلى المحتوى
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.

أريد عمل Update أو Trigger لاضافة رصيد من جدول الى جدول أخر أو العكس

Featured Replies

بتاريخ:

أريد عمل update أو trigger لاضافة رصيد من جدول الى جدول أخر أو العكس

بتاريخ:

ممكن التوضيح اكثر تفصيل؟؟؟؟

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

أ ريد عند اضافة كمية من صنف معين فى جدول حركة الصنف مثلا يضاف تلقائيا الى الرصيد فى جدول الأصناف نفسها أو العكس أى الصرف

بتاريخ:

السلام عليكم
اخي الكريم قابلت نفس المشكلة من قبل و قام الاعضاء بمساعدتي في الموضوع التالي
انظر الي الرابط التالي وان شاء الله تفهم موضوع داتبيس تريجر

مشكلة فاتورة المبيعات و التأثير على رصيد الصنف بالمخزن

ان شاء الله تجد ضالتك

تم تعديل بواسطة Wise

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

جزاك الله كل خير أخى الكريم wise بفضل الله وجدت ضالتى
لكن هناك مشكلتان أمامى هما
الأولى:
عندما أضيف كمية جديدة لصنف معين فى جدول الأضافة (addition) تتم أضافة الكمية لجميع الأصناف فى جدول الأصناف(medicine) حيث أنه مشروع صيدلية صغير
الثانية:
عندما اصرف كمية معينة مثلا 50 قطعة لصنف معين فى جدول الصرف(spend) يتم صرف كل الكمية لهذا الصنف من جدول الأصناف(medicine)
وهذه هى triggers التى قمت بكتابتها

هذا التريجر لاضافة الرصيد تلقائيا من جدول الأضافة الى جدول الأدوية


CREATE OR REPLACE TRIGGER ADDITION AFTER UPDATE ON ADDITION
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN IF UPDATING THEN
UPDATE MEDICINE
SET QUANTITY=NVL(QUANTITY,0)+NVL(:NEW.QUANTITY,0)
WHERE MED_ID=:NEW.MED_ID;
END IF;
END;
SQL][/sq[l]
هذا التريجر لصرف الرصيد تلقائيا من جدول الأدوية عندما يصرف من جدول الصرف
CREATE OR REPLACE TRIGGER SPEND AFTER UPDATE ON SPEND 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN IF UPDATING THEN 
UPDATE MEDICINE
SET QUANTITY=NVL(QUANTITY,0)-NVL(:NEW.QUANTITY,0)
WHERE MED_ID=:NEW.MED_ID;
END IF;
END;

بتاريخ:

السلام عليكم
اظن انك لم تحدد الحقل الذي عند التحديث فيه سوف يتأثر بمثابته رصيد الصنف في المخزن

جرب الكود التالي


CREATE OR REPLACE TRIGGER ADDITION AFTER UPDATE FOR QUANTITY ON ADDITION 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN IF UPDATING THEN 
UPDATE MEDICINE
SET QUANTITY=NVL(QUANTITY,0)+NVL(:NEW.QUANTITY,0)
WHERE MED_ID=:NEW.MED_ID;
END IF;
END;

تم تعديل بواسطة Wise

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

السلام عليكم أخى الكريم

كتبت الكود بعد التعديل الذى قمت به وظهرت لى هذه الرسالة ولا أعرف معناها



ERROR at line 1:
ORA-00969: missing ON keyword

تم تعديل بواسطة tarekmohammad

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

السلام عليكم أخى الكريم وأرجو أن لا تنزعج منى فأنا مبتدأ وأحتاج الى مثل مشاركاتك

كتبت الكود بعد التعديل الذى قمت به وظهرت لى هذه الرسالة ولا أعرف معناها



ERROR at line 1:
ORA-00969: missing ON keyword

تم تعديل بواسطة tarekmohammad

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

السلام عليكم أخى الكريم وأرجو أن لا تنزعج منى فأنا مبتدأ وأحتاج الى مثل مشاركاتك

كتبت الكود بعد التعديل الذى قمت به وظهرت لى هذه الرسالة ولا أعرف معناها



ERROR at line 1:
ORA-00969: missing ON keyword

بتاريخ:

اخي الكريم حاول تغير اسم الترجير حيث ان هناك اسم الجدول و هو نفس اسم التريجير

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

السلام عليكم

السبب ليس فى تطابق أسم التريجر مع أسم الجدول لأنى قمت بتغير أسم التريجر وهى نفس الرسالة

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

السلام عليكم

السبب ليس فى تطابق أسم التريجر مع أسم الجدول لأنى قمت بتغير أسم التريجر وهى نفس الرسالة

بتاريخ:

السلام عليكم
ممكن اخي الكريم ترسل ال dump لعلي اعرف سبب المشكلة

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

السلام عليكم أخى الكريم

بالنسبة لرسالة الخطأ فى الكود بعد التعديل فكانت فى كلمة for فبدلا منها of ومع ذلك لم تحل المشكلة

وهذا ال dump الذى طلبته منى

pharmacy.rar

بتاريخ:

السلام عليكم ورحمة الله وبركاته
بعد التحية
اخواني فالله
احب ان اتوجه بالشكر الى العضو المحترم الخلوق wise لحرصه على مساعدت الاعضاء ونشر العلم
وكما قال رسول الله صلي الله عليه وسلم
خيركم من تعلم العلم وعلمه
ياريت العضو الزميل tarekmohammad التحلي بالصبر وعدم تكرار الطلب اكثر من مره
حتي لا تسبب مضايقة لمن يساعدك اكتب طلبك اترك له الوقت لكي يساعدك فالكل يعمل على ذلك
وكن متيقن انه لن يبخل عليك احد بالرد ان شاء الله ولكن اعلم لو تاخر الرد سيكون لظروف خارج اردة الشخص الذي يساعدك "عمل او ظروف خاصه"
ماشي ياريس
وفقكم الله الى ماتحبون ويرضي

بتاريخ:

السلام عليكم
الخطأ كانت في كتابة الكود حيث المفروض تكتب of وليس for

CREATE OR REPLACE TRIGGER ADDITION AFTER UPDATE of QUANTITY ON ADDITION
FOR EACH ROW
BEGIN IF UPDATING THEN
UPDATE MEDICINE
SET QUANTITY=NVL(QUANTITY,0)+NVL(:NEW.QUANTITY,0)
WHERE MED_ID=:NEW.MED_ID;
END IF;
END;
/

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

السلام عليكم أخى أحمد زين

جزاك الله خير على النصيحة

السلام عليكم أخى محمود

ياريت يا أخى اذا أمكن أن تكتب لى التريجر الذى تستخدمه فى مشروعك فى حركة الوارد والمنصرف لأن السبب ليس فى كلمة of فى التريجر

واذا لم أمكن فلا يكلف الله نفسا الا وسعها

تم تعديل بواسطة tarekmohammad

بتاريخ:

السلام عليكم اخي
اليك ملف التريجر الخاص بمشروع المخازن
و لكن حتى يتسنى لك فهم التريجر يجب قراءة التحيل حتي تسطتيع فهم الكود المكتوب

t_update_qty_in_store.txt

بتاريخ:

الاخ محمود شكرا ليك كتير ..والله انا ممنون جدا ليك لكن اصبر علي شوية ..معليش حا اغلبك
المشكلة الثانية ..عندما قمت بفتح الازرار وجدتها جميعا من غير كود ... ولا زر من الازرار فيه كود..
ارجو منك اخي ان لم كن قد اثقلت عليك ان تقوم برفع الملف من جديد
ولك مني جزيل الشكر
والله بالجد انا محتاج لهذا البرنامج لذلك تجدني الح عليك بشدة
ربنا يزيدك علما ويجعل عملك هذا في ميزان حسناتك

بتاريخ:

الاخ محمود شكرا ليك كتير ..والله انا ممنون جدا ليك لكن اصبر علي شوية ..معليش حا اغلبك
المشكلة الثانية ..عندما قمت بفتح الازرار وجدتها جميعا من غير كود ... ولا زر من الازرار فيه كود..
ارجو منك اخي ان لم كن قد اثقلت عليك ان تقوم برفع الملف من جديد
ولك مني جزيل الشكر
والله بالجد انا محتاج لهذا البرنامج لذلك تجدني الح عليك بشدة
ربنا يزيدك علما ويجعل عملك هذا في ميزان حسناتك

بتاريخ:

السلام عليكم
اخي الكريم الرجاء كتابة اسئلة المشروع داخل الموضوع

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

السلام عليكم ورحمة الله وبركاته

أخى الكريم محمود جزاك الله كل خير

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

وعلى كلا فبارك الله فيك وزادك علمل ونفعا

أريد أن اعمل import لملف الdump الخاص بمشروعك فأنا أعرف كيف اعمل export داخل الcmd فقط

تم تعديل بواسطة tarekmohammad

بتاريخ:

انظر الي الردود في مشروع المخازن ان شاء الله تجد ضالتك

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

السلام عليكم ورحمة الله وبركاته

أخى الكريم والعزيز محمود بفضل الله ثم بفضل مجهودك معى ووقوفك بجانبى وصلت الى ضالتى فى التريجر وهو يعمل الأن بدون أى مشاكل

فوالله وبالله وتالله أدعو لك من قلب صادق أن يغفر الله لك ويرحمك فى الدنيا والأخرة وأن يعلى درجاتك فى الدنيا والأخرة وأن تكون من أهل الفردوس فى الأخرة

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

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

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

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

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

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.