الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية عمل TRIGGER

مغلق
بدأه the_power في 21 أغسطس 2005 · 6 رد · 1,558 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

الموضوع باختصار يوجد نظام على قاعدة بيانات ORACLE 8i وكل المستخدمين يعملون على مستخدم واحد وهو dba

والمشلكة الان ان هناك من يقوم بمسح محتويات بعض الجدوال وهي جداول محدده تقريبا خمس جداول وبها عدادات النظام

حاولت ان الغي صلاحية الالغاء من المستخدم ولكن لم يقبل مني لا ادري لماذا ؟

لكن اريد الان ان اجرب طريقة ثانية وهي عمل جدول جديد وعمل TRIGGER على مستوى قاعدة البيانات بحيث عندما يقوم

احد بمسح محتويات جدول معين يقوم الـ trigger بحفظ بيانات الجدول قبل الحذف في الجدول الجديد بالاضافة الى حفظ معلومات

الجهاز الذي قام بالحذف اي IP للجهاز اذا امكن.

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

#2

لا اعرف استخدم تلك الداله بالطريقه التس تريدها .. ساقوم بسؤال الدكتور بتاعي بعد بكره لان عندنا اجازه يومين وارد لك بالجواب ان شاء الله ..

ولكن لدي سؤال ..

لم لا تقوم بانشاء جداول احتياطيه للجداول الخمس ..

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#3

هل تجد ضالتك في هذه الرايطه

/index.ph...wtopic=3820&hl=

ارجو ذالك . :unsure:

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#4

:)

اولا شكرا لك اخي ANSI

لان ربط وجدت به بعض الاشياء المفيدة

ثانيا

ما هو قصدك بعمل جدوال احتياطية للجداول الخمسة.

#5

يعني تعمل لهم نسخ احتياطي..

علشان كلما يسحو او يغيرو في الجداول الاساسيه انت مخ النسخ بتقدر برجع الوضع على ما كان عليه من سابق ,,

ارجو ان تكون قد وصلتك المعلومه ..

هذا للايضاح

انشاء جدول احتياطي

* <<copy name>>ASSELECT * FROM <<original name>> WHERE 1=2INSERT /*+ APPEND */ INTO <<copy name>> NOLOGGINGSELECT * FROM <<original name>> WHERE <<something>>

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#6

:) :) :) :) مش عارف ايش المشكله مع الحروف ... احيانا اكتب جمل معرفش اقراها فيما بعد :)

((( علشان كلما يسحو او يغيرو في الجداول الاساسيه انت مخ النسخ بتقدر برجع الوضع على ما كان عليه من سابق ))))

قصد هنا .. كلما يتم تغيير او مسح في البيانات في الجول الرئيسي انت معك احتياطي تقدر ترجع كل شيئ على ما كان عليه ..

:) سلام

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#7

var number(4);

pc_name varchar2(50);

DATEG DATE;

BEGIN

SELECT SYSDATE INTO DATEG FROM DUAL;

select userenv('terminal') INTO pc_name

from dual;

INSERT INTO MAIN.USER_TRYING (USER_IP, USER_NAME, PC_NAME, TRYING_DATE, USER_NO)

VALUES ( GET_IP, WINUSER , PC_NAME ,DATEG ,:USERNAME);

:system.message_level := 10;

commit;

:system.message_level := 0;

END;

لمعرفة IP يجب وضع اقتران على قاعدة البيانات

GET IP PROCEDURE

select sys_context('userenv','ip_address') INTO VAR

from dual;

هذا الموضوع مغلق.

مواضيع مشابهة