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

سؤال في db trigger

Featured Replies

بتاريخ:

الأخوة الأعضاء أريد بعد عمل INSERT لجدول معين يقوم بنفس الوقت بعمل INSERT لجدول آخر
والعكس كذلك ارجو المشاركة في هذا الموضوع لأنه ذو اهمية :lol:

بتاريخ:

بعد انشاء trigger على الجدول الاول الذى تضيف فيه واختيار عن الاضافة تكتب الشكل التالي
begin
insert into table_name ( new.no,new.name,new.address);
end;

بتاريخ:

اسف يوجد تعديل بسيط وهو بعد إنشاء trigger
BEGIN
INSERT INTO new_table_name (ORDER_ID,
ORDER_INVOICE_NO,
ORDER_DATE,
STORE_NO,
SORT_NO,
SORT_NAME,
QTY_INS,
NOTE,
SEQ,
PRICES) values(:NEW.ORDER_ID,
:NEW.ORDER_INVOICE_NO,
:NEW.ORDER_DATE,
:NEW.STORE_NO,
:NEW.SORT_NO,
:NEW.SORT_NAME,
:NEW.QTY_INS,
:NEW.NOTE,
:NEW.SEQ,
:NEW.PRICES);

END;
والقيمة من الجدول الذى تم الاضافة فية من قبل

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

جزاك الله اخي على مشاركتك الفعالة ولكن السؤال يبقى في اني اريد عمل insert لجدول dept كذلك اذا قمت بعمل insert لجدول DEPT_TEMP الذي افترضته(مثلا)
انا عرف انك باتقوللي انه اعمل نفس الشي بالنسبة للجدول DEPT_TEMP وهو
CREATE OR REPLACE TRIGGER INSERT2_TRIGGER
AFTER INSERT
ON SCOTT.DEPT_TEMP
FOR EACH ROW
BEGIN
IF INSERTING THEN
INSERT INTO SCOTT.DEPT(:NEW.DEPT_NO,:NEW.DEPT_NAME);
END IF;
END;
/
ولكن قد عملت ذلك ولكن يطلع erorr يفيد بأنه لايمكن ذلك
لأنك لو لاحظت معاي بأنه لو قمنا بعمل insert للجدول الأول سوف يقوم بعمل insert للجدول الآخر
وبعد ان يقوم بذلك كانه يريد عمل insert مرة اخري للجدول الأول وهو موجود اصلا فيدخل في loop(هنا مربط الفرس) كيف نحل عقدته؟؟؟؟؟؟؟

بتاريخ:

سيدى الفاضل الاسهل لك ان لا تكتب trigger عن طريق pl/sql لانها صعبة ولا تعرف سبب المشكلة ولكن الاحسن ان تدخل على forms ثم connect على وتذهب الى database object وتحدد الجدول المطلوب عمل ترجر علية ثم انشاء جديد تظهر شاشة كما هي مرفق الملف وبه نفس المثال الذى طلبته حتى يوضح طريقة العمل ولاحظ ان trigger سوف يكون على الجدول dept لانة فى حالة عمل insert علي هذا الجدول dept سواء من sql او من form او شئ يعمل insert للجدول dept سوف يقوم مباشرا بإدخال نفس البيانات التي حددتها فى trigger الى الجدول الاخر dept_temp
الملف المرفق فية صورة بشكل عمل TRIGGER

ولا تنسانا بالدعاء

____.doc

بتاريخ:

سيدى الفاضل
نسيت شئ مهم اسف فى نفس الشكل الذى ارسلته لك نسيت شئ مهم وهى فى خانه FOR EACH اختار ROW
ثم فى الخانه OLD AS اكتب OLD
ثم فى الخانه NEW AS اكتب NEW
وان شاء الله تشتغل

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

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

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

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

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

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.