الانتقال إلى المحتوى
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.

Aud Trigger

Featured Replies

بتاريخ:

أخواني الاعزاء هذا 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;

بتاريخ:

السلام عليكم؟

تشكر اخي المهندس إياد على هذا المعلومة ..

ولاكن إذا أبغى أن أعرف التعديل على جميع حقول الجدول إلى عندي مثلا ....
وأريد أن تظهر في حساب المسؤول على النظام بحيث يعرف من قام بالتعديل في إي حقل وما هي القيمة الجديدة والقيمة القديمة لجميع الجدول ..

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

تم تعديل بواسطة المبرمج الصاعد

بتاريخ:
  • كاتب الموضوع

أولا : أود أن اشكرك على التواصل المستمر
ثانيا : بخصوص ان ترى اي تعديل على اي عمود ضمن هذا الجدول
الموضوع جدا بسيط عليك فقط بإضافة عمودين ( عمود للقيمة الجدية و اخر للقيمة القديمة ) في الجدول AUD لكل جدول تريد ان ترى التعديل
الذي حصل به و في جملة الادخال الموجودة داخل Trigger قم باضافة هذه الاعمدة فقط كما هو واضح في عمود الرواتب (sal )

و ارجو ان تكون المعلومة وصلت و ان اكون نجحت في شرح الفكرة

بتاريخ:

مشكور على الرد السريع أخي,,,

لو ماعليك كلفة أخي ممكن تشرح أكثر ,,,

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

محتاجة ضروري جدا جدا

بتاريخ:
  • كاتب الموضوع

على سبيل المثال سوف نريد ان نرى اي تعديل على عمود اسماء الموظفين :

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;


وهكذا تتم العملية بإضافة اسم العمود الذي نريد ان نري اي تغيررات قد تحصل عليه

بتاريخ:

وضحت الفكرة اخي ولك مني جزيل الشكر والتقدير

وإلى الأمام أخي ....

بتاريخ:
  • كاتب الموضوع

أخي العزيز

اتمنى ات تكوت الفكرة وصلت فعلا
و لاي استفسار الرجاء عدم التردد في السؤال
و سوف اجاوب في اقرب فرصة ممكنة إذا كنت اعرف الجواب

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

[color=#0000FF][b]السلام عليكم

لو سمحت ممكن تعمل CRATE TABLE FOR AUD TABLE
لنفس الا عمده بالضبط ، لانى عملتها ولم انجح فيها

وجزاكم الله خير [/[/color]

بتاريخ:

على 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

هو شغال زي الفل

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

مشكور جدا على المشاركة الطيبة و الى الامام

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

مشكووور على المشاركة الطيبة

بتاريخ:

مشكو حبيبي والى الامام

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

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

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

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

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

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.