الاخوة الاعزاء
قمت بعمل 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]
اشكر لكم اهتمامكم وجزاكم الله خيراً

اريد أن اجعل الtrigger يمنع المستخدم من التعديل فى المستند
تمت كتابته بواسطة
mohamedhsn20
, May 12 2009 11:46 PM
2 رد (ردود) على هذا الموضوع
#2
تاريخ المشاركة 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 هو عمود تاريخ المستند
اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه
اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين