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

كيف يمكن عكل commit في database trigger

Featured Replies

بتاريخ:

السلام عليكم .....انا احاول يا اخوان ان اعمل database triggerبعد عملية الinsert بحيث يقوم هذا ال trigger بعمل truncate لكل السجلات الموجودة في جدول معين ,ولكن عند تشغيله تظهر رسالة خظأ تقول انه لا يمكن عمل commit في الtrigger فحاولت ان اعمل delete table_name; و اقوم بعها بعمل commit ولكن تظهر نفس الرسالة .
فهل من مساعدة؟؟؟؟؟؟؟؟؟

بتاريخ:

هلا اخي اوامر التعامل مع البيانات في الداتا بيز تريجر العادي لا تحتاج الي commit ويتم عملها بطريقه اليه
هناك نوع وحيد من الداتا بيز تريجر الذي يقبلها وهوا atounomous trigger
وهوا يقوم بنشاء transaction فرعيه و عمل commit عليها
مع تمنياتي بالتوفيق

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

شكرا على الرد السريع .....ولكن انا اريد بعد عملية الحذف ان لا يتم عمل rollback لاستعادة البيانات مرة اخرى.لهذا كنت أسال عن الحذف و الcommit مباشرة كما هو الحال في الامر truncate

بتاريخ:

اي تعامل مع الداتا من خلال الداتا بيز تريجر يكون محكوم بنجاح العمليه الاصليه
فمثلا لو لديك تريجر قبل التعديل يقوم بمسح قيم في جدول اخر بمجرد انتهاء التعديل في الجدول الاول يتم في نفس الوقت مسح الجدول الثاني و يكون امكانية الاسترجاع او التاكيد محكومه هل قمت بعمل commit بعد بيانات الجدول الاول ام لا
اذا كنت تريد ان يتم مسح بيانات الجدول الثاني بغض النظر عن ماذا تم في الجدول الاول اي اذا قمت بتعديل بيانات الاول و تم مسح الثاني و لكن اذا حدث rollback للاول يظل الثاني ممسوحا اي يتم فصل كل عمليه في transaction منفصله اكتب في بداية التريجر في قسم ال declare
pragma autonomous transaction
طبعا الحروف مش فاكر كده صح و لا لا ...هوا ده الحل الوحيد الي يسمحلك انك تعمل commit في داتا بيز تريجر

مع تمنياتي بالتوفيق

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

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

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

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

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

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.