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

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

صورة
- - - - -

اريد أن اجعل الtrigger يمنع المستخدم من التعديل فى المستند


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

#1 mohamedhsn20

mohamedhsn20

    عضو

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

تاريخ المشاركة 12 May 2009 - 11:46 PM

الاخوة الاعزاء
قمت بعمل trigger يمنع المستخدم من التعديل بالمستند وكان كالآتى :-
CREATE trigger t1 on fstcsm for update as
begin
print ('Sorry you can not update !!!')
rollback transaction
end
ولكنى اريد أن اجعل الtrigger يمنع المستخدم من التعديل فى المستند اذا كان تاريخ المستند قبل 1/5/2009 وهى الفترة التى تم اقفالها ويسمح بالتعديل فى المستندات التى مازالت تحت المراجعة و التى يكون تاريخها بعد يوم 1/5/2009 علما بأن حقل تاريخ المستند هو [ date]
اشكر لكم اهتمامكم وجزاكم الله خيراً

#2 mustafagamiel

mustafagamiel

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

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

تاريخ المشاركة 13 May 2009 - 01:18 AM

CREATE OR REPLACE TRIGGER TRG_BEFORE_up BEFORE  UPDATE ON your_table
FOR EACH ROW
begin if (updating) then
if :old.x_date <to_date('1-5-2009','dd-mm-yyyy') then
RAISE_APPLICATION_ERROR(-20000,'its impossible ');
END IF;
end if;
END;



حيث x_date هو عمود تاريخ المستند

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

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






#3 orahamdi

orahamdi

    مشترك

  • الأعضــاء
  • 132 مشاركة
  • الاسم الأول:Hamdy
  • اسم العائلة:Fleafel
  • البـلـد: Country Flag

تاريخ المشاركة 26 May 2009 - 06:29 PM

رد جميل اخى الكريم