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

طريقة مراقبة البيانات في جدول معين


Guest عادل الشهري

Recommended Posts

Guest عادل الشهري

سلام عليكم,,,,

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-98
SCOTT 5555 9000 3400 12-APR-98
SCOTT 5555 3400 12-APR-98
ADEL 9090 6600 12-APR-98
ADEL 9090 6600 3200 12-APR-98
ADEL 9090 3200 12-APR-98




على فكرة الدرس مرفق على شكل ملف PDF .

تحياتي .

أخوكم

Audit_Data1.pdf

رابط هذا التعليق
شارك

  • بعد 4 أسابيع...
  • بعد 7 شهور...
  • بعد 4 أسابيع...
  • بعد 1 شهر...

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية