الانتقال إلى المحتوى الرئيسي

كيو: تشغيل التعليمات البرمجية خارج المعاملة

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

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

هناك عدة طرق لتشغيل التعليمات البرمجية خارج المعاملة في كيو. يمكنك استخدام وظيفة بغ أدفيسوريولوك لمنع تنفيذ التعليمات البرمجية في معاملة ، أو استخدام الأمر تعيين أوتوكوميت لتعطيل المعاملة التلقائية ارتكاب. بدلا من ذلك ، يمكنك استخدام بيان دو لتنفيذ التعليمات البرمجية خارج المعاملة.

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

  1. كيو: تنفيذ التعليمات البرمجية دون معاملة
  2. باستخدام وظيفة دو
  3. باستخدام الأمر تعيين أوتوكوميت أون
  4. تشغيل رمز سكل بغض النظر عن المعاملة
  5. سؤال وجواب
  6. لماذا تشغيل التعليمات البرمجية خارج الصفقة في كيو?
  7. كيف يمكنني تشغيل رمز خارج الصفقة في كيو?
  8. ما هي القيود عند تنفيذ التعليمات البرمجية خارج الصفقة في كيو?

كيو: تنفيذ التعليمات البرمجية دون معاملة

كيو هي قاعدة بيانات علائقية قوية توفر مجموعة واسعة من الوظائف للعمل مع البيانات. واحدة من ميزات كيو هو القدرة على تنفيذ التعليمات البرمجية دون استخدام معاملة.

وتستخدم المعاملات في كيو لضمان سلامة البيانات وضمان الاتساق عند تنفيذ عمليات قاعدة البيانات. عادة ، يتم تنفيذ رمز سكل في سياق المعاملة ، ويمكن التراجع عن أي تغييرات يتم إجراؤها داخل المعاملة إذا تم التراجع عن المعاملة.

ومع ذلك ، في بعض الأحيان تكون هناك حاجة لتنفيذ التعليمات البرمجية التي لا ينبغي تنفيذها داخل المعاملة ويجب عدم إلغاؤها إذا تم التراجع عن المعاملة.

.

باستخدام وظيفة دو

:

كودالوصف
لا $$

بيغن

-- الرمز الخاص بك

نهاية$$;

.

باستخدام الأمر تعيين أوتوكوميت أون

:

كودالوصف
تعيين أوتوكوميت على;

-- الرمز الخاص بك

تعيين أوتوكوميت قبالة;

تنفيذ رمز سكل التعسفي دون معاملة عن طريق تشغيل وإيقاف وضع ارتكاب المعاملة التلقائية.

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

تشغيل رمز سكل بغض النظر عن المعاملة

في قاعدة بيانات كيو ، المعاملات تلعب دورا هاما في ضمان سلامة البيانات والتحكم في عمليات قاعدة البيانات. ومع ذلك ، في بعض الأحيان قد يكون من الضروري تنفيذ رمز سكل خارج المعاملة. في هذه الحالة ، يمكنك استخدام طرق مثل كتل التعليمات البرمجية المستقلة أو معرفات مستوى عزل المعاملات.

. مثال الاستخدام:

لا $$

بيغن

-- الكود الذي يتم تنفيذه بشكل مستقل عن المعاملة

نهاية $$;

داخل كتلة التعليمات البرمجية ، يمكنك تشغيل أي استعلامات سكل ، وظائف الاتصال ، أو استخدام بل/بكل لغة أخرى يبني.

هناك طريقة أخرى لتنفيذ كود سكل خارج المعاملة وهي استخدام معرفات مستوى عزل المعاملة. يسمح لك مستوى عزل القراءة غير الملتزم بقراءة البيانات المعدلة بواسطة المعاملات الأخرى قبل ارتكابها. مثال الاستخدام:

تعيين مستوى عزل المعاملات قراءة غير ملتزم;

-- استعلامات سكل المنفذة خارج الصفقة

تعيين مستوى عزل المعاملات قراءة ملتزمة;

ومع ذلك ، يجب توخي الحذر عند استخدام مستوى العزل هذا ، حيث يمكن أن يؤدي ذلك إلى قراءة البيانات غير المتسقة ومشكلات تكامل البيانات المحتملة.

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

سؤال وجواب

لماذا تشغيل التعليمات البرمجية خارج الصفقة في كيو?

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

كيف يمكنني تشغيل رمز خارج الصفقة في كيو?

لتشغيل التعليمات البرمجية خارج معاملة في كيو ، يمكنك استخدام كتلة الأوامر "بيغن / إند". داخل هذه الكتلة ، يمكنك تمكين خيار" تعيين أوتوكوميت إلى إيقاف " لتعطيل الالتزام التلقائي للتغييرات وتشغيل التعليمات البرمجية الخاصة بك خارج المعاملة. بعد تنفيذ التعليمات البرمجية ، يمكنك تمكين الالتزام التلقائي للتغييرات باستخدام"تعيين أوتوكوميت إلى أون". من المهم أن تتذكر أن تنفيذ التعليمات البرمجية خارج المعاملة يمكن أن يؤدي إلى فقدان البيانات في حالة فشل النظام أو حدوث خطأ.

ما هي القيود التي يمكن أن تكون هناك عند تنفيذ التعليمات البرمجية خارج المعاملة في كيو?

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