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

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

صورة
- - - - -

متى تضاف قيمة للداتابيز تريجر


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

#1 hrs

hrs

    عضو نشط

  • الأعضــاء
  • 282 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 11:13 AM

انا عاملة داتا بيز تريجر لجدول معين يضيف فيه ريكورد لو حصل لهم تغير

بس انا بشوف انه يحط فيه مع انه مافيش تغيير؟؟

فهل هو يضيفهم كل يوم ولا ايه؟


ان شاء الله تقدرون تفيدوني
اممممم وبس :)

ملفات مرفقة

  • ملف مرفق  1111.bmp   390.73كيلو   42 عدد مرات التحميل


#2 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 11:25 AM

السلام عليكم
مانوع التريجر اجعليه after update
لو استمر الخطأ ارفقي الجدولين والتريجر

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#3 hrs

hrs

    عضو نشط

  • الأعضــاء
  • 282 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 11:26 AM

انا عاملاه after delete, insert,update
فيه صورة لمثال update بس هو مافيش تغيير ليه حطه؟؟

تم التعديل بواسطة hrs, 09 June 2009 - 11:30 AM.


#4 abdu1_far

abdu1_far

    عضو نشط

  • الأعضــاء
  • 430 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 11:44 AM

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

لكن لو حضرتك عملت تيرجر after delete, insert
يبقى هيتنفذ مع اي اضافة او حذف من الجدول
قال رسول الله صلى الله عليه وسلم "إن لله عز وجل عباداً أختصهم بقضاء حوائج الناس ، حببهم إلي الخير وحبب الخير إليهم
هم الاّمنون من عذاب الله يوم القيامة " أوكما قال صلى الله عليه وسلم

#5 hrs

hrs

    عضو نشط

  • الأعضــاء
  • 282 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 11:48 AM

declare
trm varchar2(50);
ip varchar2(50);
Begin select UserEnv('TERMINAL'), Trim(Sys_Context('USERENV','IP_ADDRESS')) into trm , ip from dual; If INSERTING Then
Insert Into Bks_KExpBokT
(Operation,UserName,Terminal,IPAddress,Timestamp,Old_ExpCde,New_ExpCde,
Old_ExpBok,New_ExpBok,Old_ExpDat,New_ExpDat,Old_ExpQty,New_ExpQty,Old_ExpLoc,
New_ExpLoc,Old_ExpOrdTyp,New_ExpOrdTyp,Old_ExpEmp,New_ExpEmp,Old_ExpApr,
New_ExpApr,Old_ExpAprDat,New_ExpAprDat,Old_ExpQtyRmn,New_ExpQtyRmn,Old_ExpTrfSts
,
New_ExpTrfSts,Old_ExpQtyRtn,New_ExpQtyRtn)
Values
('I',User,trm,ip,
SysDate, :Old.ExpCde, :New.ExpCde,
:Old.ExpBok,:New.ExpBok,:Old.ExpDat,:New.ExpDat,:Old.ExpQty,
:New.ExpQty,:Old.ExpLoc,:New.ExpLoc,:Old.ExpOrdTyp,:New.ExpOrdTyp,
:Old.ExpEmp,:New.ExpEmp,:Old.ExpApr,:New.ExpApr,:Old.ExpAprDat,
:New.ExpAprDat,:Old.ExpQtyRmn,:New.ExpQtyRmn,:Old.ExpTrfSts,:New.ExpTrfSts,
:Old.ExpQtyRtn,:New.ExpQtyRtn
);
ELSIF UPDATING THEN
Insert Into Bks_KExpBokT
(Operation,UserName,Terminal,IPAddress,Timestamp,Old_ExpCde,New_ExpCde,
Old_ExpBok,New_ExpBok,Old_ExpDat,New_ExpDat,Old_ExpQty,New_ExpQty,Old_ExpLoc,
New_ExpLoc,Old_ExpOrdTyp,New_ExpOrdTyp,Old_ExpEmp,New_ExpEmp,Old_ExpApr,
New_ExpApr,Old_ExpAprDat,New_ExpAprDat,Old_ExpQtyRmn,New_ExpQtyRmn,Old_ExpTrfSts
,
New_ExpTrfSts,Old_ExpQtyRtn,New_ExpQtyRtn)
Values
('U',User,trm,ip,
SysDate, :Old.ExpCde, :New.ExpCde,
:Old.ExpBok,:New.ExpBok,:Old.ExpDat,:New.ExpDat,:Old.ExpQty,
:New.ExpQty,:Old.ExpLoc,:New.ExpLoc,:Old.ExpOrdTyp,:New.ExpOrdTyp,
:Old.ExpEmp,:New.ExpEmp,:Old.ExpApr,:New.ExpApr,:Old.ExpAprDat,
:New.ExpAprDat,:Old.ExpQtyRmn,:New.ExpQtyRmn,:Old.ExpTrfSts,:New.ExpTrfSts,
:Old.ExpQtyRtn,:New.ExpQtyRtn
);
ELSIF DELETING THEN
Insert Into Bks_KExpBokT
(Operation,UserName,Terminal,IPAddress,Timestamp,Old_ExpCde,New_ExpCde,
Old_ExpBok,New_ExpBok,Old_ExpDat,New_ExpDat,Old_ExpQty,New_ExpQty,Old_ExpLoc,
New_ExpLoc,Old_ExpOrdTyp,New_ExpOrdTyp,Old_ExpEmp,New_ExpEmp,Old_ExpApr,
New_ExpApr,Old_ExpAprDat,New_ExpAprDat,Old_ExpQtyRmn,New_ExpQtyRmn,Old_ExpTrfSts
,
New_ExpTrfSts,Old_ExpQtyRtn,New_ExpQtyRtn)
Values
('D',User,trm,ip,
SysDate, :Old.ExpCde, :New.ExpCde,
:Old.ExpBok,:New.ExpBok,:Old.ExpDat,:New.ExpDat,:Old.ExpQty,
:New.ExpQty,:Old.ExpLoc,:New.ExpLoc,:Old.ExpOrdTyp,:New.ExpOrdTyp,
:Old.ExpEmp,:New.ExpEmp,:Old.ExpApr,:New.ExpApr,:Old.ExpAprDat,
:New.ExpAprDat,:Old.ExpQtyRmn,:New.ExpQtyRmn,:Old.ExpTrfSts,:New.ExpTrfSts,
:Old.ExpQtyRtn,:New.ExpQtyRtn
);
End If;
End;



انا حاطة ده يعني مش المفروض يترنن لما يحصل واحد منهم ويحدد لي حصل ايه تغير او حذف او اضافة
لو شفت الصورة هو حططها وقال انه فيه تغير )u( مع انه مافيش تغير :)
ولا رأيك ايه ؟؟؟؟ الصورة في المرفقات في المشاركة الاولى

تم التعديل بواسطة hrs, 09 June 2009 - 11:49 AM.


#6 abdu1_far

abdu1_far

    عضو نشط

  • الأعضــاء
  • 430 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 12:48 PM

ايوه فهمتك كده
انت اصدك اي اجراءيحصل على الجدول ... معلش ما خدتش بالي كنت فاكرك لو حصل تعديل فقط
مش عارف حقيقة ... بس تأكيد انك ما عملتيش اي اجراء على الجدول
اسف على الرد الخطأ السابق
قال رسول الله صلى الله عليه وسلم "إن لله عز وجل عباداً أختصهم بقضاء حوائج الناس ، حببهم إلي الخير وحبب الخير إليهم
هم الاّمنون من عذاب الله يوم القيامة " أوكما قال صلى الله عليه وسلم

#7 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 09 June 2009 - 09:32 PM

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

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#8 abdou1984

abdou1984

    عضو نشط

  • الأعضــاء
  • 270 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 June 2009 - 04:37 PM

الاخت الكريمة
لا بد من وضع شرط كالاتى
if updating then
code
end if;