سؤال

ما يعادل التالية SQL Server بيانات DB2?

  • تبدأ الصفقة
  • ارتكاب الصفقة
  • التراجع عن الصفقة
هل كانت مفيدة؟

المحلول

انظر هنا على سبيل المثال.ولكن أساسا

BEGIN TRANSACTION
COMMIT TRANSACTION
ROLLBACK

نصائح أخرى

الجواب هو في الواقع أكثر تعقيدا مما هو مذكور هنا.صحيح المعاملات ANSI موحدة ، DB2 قد الدعم لهم.

DB2 z/OS يمكن أن تكون مختلفة جدا الوحش من المتغيرات الأخرى (LUW, Linux-Unix-ويندوز ، كونها الأكثر شيوعا).في خطر الانزلاق إلى خرف ، وهذا يجعل فكرة الحديث عن DB2 تقريبا طائل.كنت تتحدث عن بعض البديل من IBM قاعدة البيانات ، ولكن ما يعمل في واحدة يمكن أن تكون تماما غير صالح في آخر.وسوف نفترض أن أي نكهة العملية كانت باستخدام كان لا z/OS واحد ، منذ BEGIN TRANSACTION كان الجواب المقبول.

لأولئك منكم الذين يصادفوا هذه محاولة استخدام المعاملات مع DB2 z/OS, هنا هو الخلاصة:DB2 المركزية لا صريحة المعاملات.لا يوجد BEGIN TRANSACTION أو أي دولة أخرى مماثلة بناء.المعاملات بدأت ضمنا (عادة ما يشار إليها باسم وحدة العمل في مستندات) و الالتزام بها أو التراجع صراحة (عادة-العديد من أدوات واجهة المستخدم الرسومية مثل الضفدع ، ونتوقع الميزة التي يمكن التسلل على لك مرة واحدة في كل حين).

من 9.1 z/OS SQL دليل مرجعي (صفحة 28;المتاحة في http://www-01.ibm.com/support/docview.wss?uid=swg27011656#manuals):

"وحدة العمل يبدأ عند تطبيق العملية بدأت.وحدة العمل هو أيضا بدأ عندما الوحدة السابقة من العمل انتهت من نهاية عملية التطبيق.وحدة العمل انتهت قبل ارتكاب العملية ، كامل عملية الاستعادة أو نهاية عملية التطبيق.على ارتكاب أو الاستعادة عملية يؤثر فقط على التغييرات على قاعدة البيانات في وحدة العمل ينتهي."

أقرب ما تحصل عند كتابة البرامج النصية يدويا تحديد لنقطة حفظ.

هذه تبدو مثل هذا:

 SAVEPOINT A ON ROLLBACK RETAIN CURSORS;

 UPDATE MYTABLE SET MYCOL = 'VAL' WHERE 1;

 ROLLBACK WORK TO SAVEPOINT A;

ظاهريا هذه تشبه صريح المعاملات, ولكنها ليست.بدلا من, أنها حقا ليست سوى نقطة في الوقت داخل واحد الصفقة الضمنية.لأغراض كثيرة ، قد تكفي, ولكن من المهم أن يكون على بينة من الاختلافات المفاهيمية.

enter image description hereإذا كنت تستخدم IDE مثل Intellij Idea (أو غيرها) ثم لم يكن لديك إمكانية لبدء explicitely الصفقة.وبعبارة أخرى لا يمكن نوع 'تبدأ الصفقة في وحدة تحكم IDE الخاص بك.

ولكن يمكنك تعطيل 'لصناعة السيارات في ارتكاب' (و تمكينها في وقت لاحق) ثم اكتب 'الالتزام' أو "الردة' في وحدة التحكم.

في فكرة هناك أيضا زر 'الالتزام' و زر 'التراجع'.إلقاء نظرة على الشاشة تفريغ المرفقة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top