الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

بتاريخ:

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

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

بتاريخ:

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

بتاريخ:

و لا كلمة تقال على هذا المجهود الجبار
شكراً

بتاريخ:

ليس لدي شكر اكثر من جزالك الله خيراً

بتاريخ:

اختيارك للمواضيع جيمل جداً ويحل مشاكل الكثير

بتاريخ:

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

بتاريخ:

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

بتاريخ:

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

  • بعد 4 أسابيع...
بتاريخ:

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

بتاريخ:

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

أخوك:

سامر حداد

بتاريخ:

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

بتاريخ:

مشكورررراااااااااااااا

  • بعد 7 شهور...
بتاريخ:

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

  • بعد 4 أسابيع...
بتاريخ:

يسلمو الشرح كافي ووافي

  • بعد 1 شهر...
بتاريخ:

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

بتاريخ:

جزاك الله خير و جعله في ميزان حسناتك .

بتاريخ:

شكرا و جزاك الله خير .

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.