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

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

- - - - -

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


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

#1 Guest_عادل الشهري_*

Guest_عادل الشهري_*
  • الزائرين

تاريخ المشاركة 14 February 2004 - 04:30 PM

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

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   70.02كيلو   600 عدد مرات التحميل


#2 msh

msh

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 462 مشاركة

تاريخ المشاركة 15 February 2004 - 12:53 AM

وعليكم السلام
أخي Oracle ألف شكر على هذه المشاركة الممتازة وفي انتظار المزيد :rolleyes:
اللهم أغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات

#3 John

John

    عضو نشط

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

تاريخ المشاركة 15 February 2004 - 03:49 AM

و لا كلمة تقال على هذا المجهود الجبار
شكراً
Johnwahba2002@hotmail.com

#4 ابوعبدالله

ابوعبدالله

    مشترك

  • الأعضــاء
  • 142 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Oracle HRMS

تاريخ المشاركة 15 February 2004 - 08:39 AM

ليس لدي شكر اكثر من جزالك الله خيراً
(وماأوتيتم من العلم إلا قليلا)

Oracle9i Database Administrator Certified Associate

#5 khaled

khaled

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 251 مشاركة

تاريخ المشاركة 15 February 2004 - 09:50 AM

اختيارك للمواضيع جيمل جداً ويحل مشاكل الكثير
خالد مبارك العوبثاني
اليمن-حضرموت
Email :Aboanter84@hotmail.com

#6 arab20002000

arab20002000

    عضو نشط

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

تاريخ المشاركة 15 February 2004 - 10:30 AM

مشكور و جزاك الله الف خير

#7 alfarook

alfarook

    مشترك

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

تاريخ المشاركة 15 February 2004 - 01:41 PM

مشكور على هذه الأقكار الاحترافية
تعلموا العلم وعلموه

#8 moh

moh

    مشترك

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

تاريخ المشاركة 16 February 2004 - 09:58 AM

جزاكم الله خير الجزاء على هذا المجهود الرائع

#9 habt2090

habt2090

    مشترك

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

تاريخ المشاركة 09 March 2004 - 06:41 PM

مشكور و جزاك الله الف خير

#10 sammer_haddad

sammer_haddad

    مشترك

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

تاريخ المشاركة 09 March 2004 - 06:56 PM

مشكور على هذا الدرس الجميل كصاحبه :)

أخوك:

سامر حداد
المستقبل= Oracle
sammer_haddad@gawab.com

#11 m1s

m1s

    عضو

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

تاريخ المشاركة 10 March 2004 - 10:56 AM

جزاك الله خير ... ونفع الله بك

#12 salama11433

salama11433

    عضو نشط

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

تاريخ المشاركة 10 March 2004 - 03:53 PM

مشكورررراااااااااااااا
لا تبكى على ماضى لا يعود
salama ayad
samy32@msn.com
semsem11433@yahoo.com
Egypt - cairo

#13 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 23 October 2004 - 02:47 AM

فعلا الاحتراف له ناسه

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com


#14 mr_pop_1984

mr_pop_1984

    عضو

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

تاريخ المشاركة 20 November 2004 - 11:46 AM

يسلمو الشرح كافي ووافي
يا آل إسرائيل، لا يأخذكم الغرور..عقارب الساعة إن توقفت لا بد أن تدور..
إن اغتصاب الأرض لا يخيفنا..فالريش قد يسقط من أجنحة النسور..
والعطش الطويل لا يخيفنا ..فالماء يبقي دائما في باطن الصخور..
هزمتم الجيوش .. إلا أنكم لم تهزموا الشعور..
قطعتم الأشجار من رؤوسها..وظلت الجذور..

#15 turkiman

turkiman

    عضو

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

تاريخ المشاركة 04 January 2005 - 01:32 AM

بارك الله فيك وجزاك عنا كل خير
سبحان الله وبحمده سبحان الله العظيم