إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

كيف أغير قيمة في جدول بعد عمل update لآخر


4 رد (ردود) على هذا الموضوع

#1 سيبانية

سيبانية

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 23 May 2004 - 07:34 PM

السلام عليكم
لدي سؤال بالنسبة لل update فانا لدي جدول تتغير قيمة حقلة او الداتا التي فية كل ما اعمل update اي:
انا لدي جداول (بالنسبة لمشروعي نظام فواتير) :
جدول المدفوعات وجدول القراءات وجدول التسوية وغيرة وهذة الجداوال لها حقول فرعية في جدول الحركة او bilvaraible
وطبعا اي حفظ اعملة لهذة الجداول مفروض ينعكس في جدول الحركة مثلا بالنسبة لمشترك معين المفروض في الشهر الحالي كل البيانات الموجودة حق الشهر السابق في
جدول الحركة تحل محلها حق الجدول الحالي وهذا يحصل كل شهر لأصدار الفاتورة
فكيف ممكن استخدم ال procedure لعمل هذا باستخدام ال update مع العلم اني لا اعرف كيف ممكن ان اتشا الكود بالنسبة لل update لاني مبتديئة في oracle واعلم نفسي بنفسي والحمدللة عرفت
اشياء وانهيت جزء من المشروع ولكن مشكلتي في ال procedure واختيار ال trigger المعين بالنسبة لاي مهمة .
ارجوا افادتي وجزاكم اللة خير

تم تحرير المشاركة : الرجاء كتابة عنوان يوضح مضمون المشاركة
إدارة المنتدى


#2 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 23 May 2004 - 08:36 PM

استخدمي Database trigger من نوع On-Update بحيث انك لو عملتي تحديث للبيانات في اي من الجداول يقوم بنسخها الى جدول الحركة

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#3 سيبانية

سيبانية

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 31 May 2004 - 08:04 PM

السلام عليكم
شكرا أخي بس كيف سيكون ال procedure الذي بستخدمة مع هذا ال triggre
ياريت تعطيني مثال
وشكرا

#4 ابو صالح

ابو صالح

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,253 مشاركة
  • البـلـد: Country Flag
  • المنصب الحالي:(رحمه الله)

تاريخ المشاركة 01 June 2004 - 07:08 PM

هذا تريجر عند التعديل على الجدول std_info يقوم بأخذ رقم الطالب بالاضافة الى الحالة الدراسية لطالب بعد التعديل
بالاضافة الى التاريخ ووضعها في جدول اخر وهو std_status
create or replace trigger trg_edu_update_4_std_info
before update on std_info
for each row
begin
insert into std_status (std_id,state,update_date)
values(:old.std_id,:new.std_edu_state,sysdate);


طبعا ممكن تضعي اما update او insert او delete
وايضا before و after

واما new التي تسبق اسم العناصر تعني القيمة الجديدة بعد التغير
و old تعني القيمة القديمة او الحالية كما في المثال .

<span style='font-size:11pt;line-height:100%'>
زكاة العلم نشرة

Oracle Certifed Expert, OCE RAC
Oracle Certified Professional OCP 9i,10g
ITIL v3

</span>


#5 سيبانية

سيبانية

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 02 June 2004 - 10:48 AM

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