شرح صفوف ومحتوى الفقرة
بمجرد التأكد من سلامة خطوة فرعية داخل المعاملة وعدم الحاجة للعودة إلى علامتها المرجعية، يمكنك إزالة العلامة بالأمر RELEASE SAVEPOINT لتنظيم تدفق المعاملة:
RELEASE SAVEPOINT sp_step_one;: يحذف اسم نقطة الحفظ من ذاكرة المعاملة الحالية دون التراجع عن البيانات أو اعتمادها.- التحرير التلقائي عند الإغلاق: يؤدي تنفيذ
COMMIT;أوROLLBACK;الكامل إلى مسح وتحرير جميع نقاط الحفظ التابعة لتلك المعاملة تلقائياً. - الخطأ القياسي 1305: محاولة استدعاء نقطة حفظ بعد تحريرها أو بعد انتهاء المعاملة تُرجع الخطأ
ERROR 1305 (42000): SAVEPOINT does not exist. - قاعدة قِصر زمن المعاملة: اجعل المعاملات سريعة ومباشرة، ولا تنتظر إدخال المستخدم البشري أبداً بينما المعاملة مفتوحة وتحتجز أقفال الصفوف.
SQL
START TRANSACTION;
UPDATE wallet_ledgers SET balance = balance - 80.00 WHERE account_id = 101;
SAVEPOINT sp_step_one;
UPDATE wallet_ledgers SET balance = balance + 80.00 WHERE account_id = 102;
RELEASE SAVEPOINT sp_step_one;
COMMIT;