بتاريخ: 14 فبراير 200422 سنة comment_1286 سلام عليكم,,,, Audit Data السيطرة على البيانات سنقوم بإنشاء جدول يقوم بمراقبة البيانات وتسجيل أي تعديل أو اضافة أو حذف على البيانات في جدول معين أو عمود معين. ونقوم بالتعبير عن القيم في الجدول بالشكل التالي حسب القديم والجديد في الحالات الثلاث: إضافة,تعديل,حذف ,,,كالتالي:عند الإضافة : القيمه الجديدة = New والقديمة = Nullعند التعديل : القيمة الجديدة = New والقديمة = Oldعند الحذف : القيمة الجديدة = Null والقديمة = Old سنقوم بعمل جدول كمثال ..لمراقبة عمود الراتب في جدول الموظفين ثم نقوم بعل الـ Trigger الذي يقوم بمراقبة جدول الموظفين وتسجيل أي تغيير يطرأ عليه في جدول نقوم بتسميته Audit_empوالأعمدة في الجدول هي كالتالي : Create table audit_emp(done_by varchar2(20),empno number(4),oldsal number,newsal number,curr_date date(; Done_by إسم المستخدم Empno رقم الموظف . Oldsal الراتب القديم Newsal الراتب الجديد Curr_date التاريخ . بعد ذلك نقوم بكتابة الــTrigger التالي : Create or replace trigger audit_trig After insert or delete or update of sal on emp For each row Declare Begin if inserting then insert into audit_emp values(user,:new.empno,null,:new.sal,sysdate); end if; if updating then insert into audit_emp values(user,:old.empno,:old.sal,:new.sal,sysdate); end if; if deleting then insert into audit_emp values(user,:old.empno,:old.sal,null,sysdate); end if; end; بعد ذلك قم بتجربة العمل من خلال إضافة سجل جديد في جدول الموظفين وقم بتعديل الراتب وأيضا قم بحذف السجل نهائياً من جدول الموظفين ثم اذهب إلى جدول الـــــ Audit_empوقم بالتالي select * from audit_emp; لتجد أن كل الذي قمت به من قد تم تسجيله في الجدول. سيظهر لك الجدول بالشكل التالي : SQL> select * from audit_emp; DONE_BY EMPNO OLDSAL NEWSAL CURR_DATE-------------------- ---------- ---------- ---------- ---------SCOTT 5555 9000 12-APR-98SCOTT 5555 9000 3400 12-APR-98SCOTT 5555 3400 12-APR-98ADEL 9090 6600 12-APR-98ADEL 9090 6600 3200 12-APR-98ADEL 9090 3200 12-APR-98 على فكرة الدرس مرفق على شكل ملف PDF .تحياتي .أخوكم Audit_Data1.pdf تقديم بلاغ
بتاريخ: 14 فبراير 200422 سنة comment_1321 وعليكم السلام أخي Oracle ألف شكر على هذه المشاركة الممتازة وفي انتظار المزيد تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.