بتاريخ: 13 يناير 200818 سنة comment_120384 أخواني الاعزاء هذا Trigger يقوم بمعرفة بتخزين اسم و العملية التي قام بها (ادخال , حذف , تعديل ) على عمود الرواتب في جدول الموظفين و تاريخ العملية و القيمة القديمة و الجديدة للراتبلكن اولا يجب انشاء جدول بنفس الاعمدة الموجودة بجملة الادخال داخل ال Trigger Create or replace Trigger AUD After insert or delete or update on emp For each row Declare V_action aud.action%type Begin If inserting then V_action :=’Insert’; Elsif updating then V_action := ‘Update’; Else deleting then V_action :=’Delete’; End if; Insert into AUD values(user,sysdate,v_action,:old.sal,:new.sal); End; تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة comment_120410 السلام عليكم؟تشكر اخي المهندس إياد على هذا المعلومة ..ولاكن إذا أبغى أن أعرف التعديل على جميع حقول الجدول إلى عندي مثلا .... وأريد أن تظهر في حساب المسؤول على النظام بحيث يعرف من قام بالتعديل في إي حقل وما هي القيمة الجديدة والقيمة القديمة لجميع الجدول ..وشكرا جزيل لك ... تم تعديل 13 يناير 200818 سنة بواسطة المبرمج الصاعد تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة كاتب الموضوع comment_120411 أولا : أود أن اشكرك على التواصل المستمر ثانيا : بخصوص ان ترى اي تعديل على اي عمود ضمن هذا الجدول الموضوع جدا بسيط عليك فقط بإضافة عمودين ( عمود للقيمة الجدية و اخر للقيمة القديمة ) في الجدول AUD لكل جدول تريد ان ترى التعديل الذي حصل به و في جملة الادخال الموجودة داخل Trigger قم باضافة هذه الاعمدة فقط كما هو واضح في عمود الرواتب (sal ) و ارجو ان تكون المعلومة وصلت و ان اكون نجحت في شرح الفكرة تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة comment_120412 مشكور على الرد السريع أخي,,,لو ماعليك كلفة أخي ممكن تشرح أكثر ,,,وجزاك الله عني كل خير محتاجة ضروري جدا جدا تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة كاتب الموضوع comment_120414 على سبيل المثال سوف نريد ان نرى اي تعديل على عمود اسماء الموظفين : Create or replace Trigger AUD After insert or delete or update on emp For each row Declare V_action aud.action%type Begin If inserting then V_action :=’Insert’; Elsif updating then V_action := ‘Update’; Else deleting then V_action :=’Delete’; End if; Insert into AUD values(user,sysdate,v_action,:old.sal,:new.sal,:[color="#FFFF00"]new.ename,:old.ename[/color]); End; وهكذا تتم العملية بإضافة اسم العمود الذي نريد ان نري اي تغيررات قد تحصل عليه تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة comment_120415 وضحت الفكرة اخي ولك مني جزيل الشكر والتقديروإلى الأمام أخي .... تقديم بلاغ
بتاريخ: 13 يناير 200818 سنة كاتب الموضوع comment_120419 أخي العزيزاتمنى ات تكوت الفكرة وصلت فعلا و لاي استفسار الرجاء عدم التردد في السؤال و سوف اجاوب في اقرب فرصة ممكنة إذا كنت اعرف الجواب تقديم بلاغ
بتاريخ: 17 أبريل 200817 سنة comment_126910 [color=#0000FF][b]السلام عليكم لو سمحت ممكن تعمل CRATE TABLE FOR AUD TABLEلنفس الا عمده بالضبط ، لانى عملتها ولم انجح فيها وجزاكم الله خير [/[/color] تقديم بلاغ
بتاريخ: 22 أبريل 200817 سنة comment_127171 على HR SCHEMA قمت بانشاء الجدول كما يلي CREATE TABLE AUD ( CREATE_DATE DATE, ACTION VARCHAR2(20 BYTE), OLD NUMBER(8,2), NEW NUMBER(8,2), CREATE_BY VARCHAR2(20 BYTE) ) ثم قمت بتعديل التريقر كالاتي CREATE OR REPLACE TRIGGER HR.AUD After insert or delete or update ON HR.EMPLOYEES For each row Declare V_action aud.action%type; Begin If inserting then V_action :='Insert'; Elsif updating then V_action := 'Update'; Elsif deleting then V_action :='Delete'; End if; Insert into AUD values(sysdate,v_action,:old.SALARY,:new.SALARY,USER); End; / مع ملاحظة ان اسم الجدول هنا EMPLOYEESواسم المرتب SALARYهو شغال زي الفل تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.