با استفاده از SQL و دستورات تراکنش (SAVEPOINT)، جدول ساده‌ای به نام accounts ایجاد کنید، در یک تراکنش چند ردیف وارد کنید، یک SAVEPOINT ایجاد کنید، یک ردیف را به‌روزرسانی کنید، سپس به SAVEPOINT بازگردید و تراکنش را COMMIT کنید و وضعیت نهایی جدول را نمایش دهید.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:18

0.0

برای حل این مسئله از SQL استاندارد تراکنش‌ها استفاده کنید (مثلاً در PostgreSQL یا MySQL/InnoDB). مراحل شامل: CREATE TABLE برای ساخت جدول accounts، BEGIN/START TRANSACTION برای شروع تراکنش، INSERT برای وارد کردن چند ردیف، دستور SAVEPOINT sp1 برای ثبت نقطه بازگشت، انجام یک UPDATE، سپس ROLLBACK TO SAVEPOINT sp1 برای بازگردانی تغییرات بعد از savepoint و در نهایت COMMIT برای اعمال نهایی است. پس از COMMIT یک SELECT اجرا کنید تا وضعیت نهایی جدول را ببینید. نکته‌ها: نام‌های واضح برای SAVEPOINT بگذارید، می‌توانید از RELEASE SAVEPOINT استفاده کنید اما ضروری نیست، و در صورت نیاز تست را در محیط PostgreSQL یا MySQL انجام دهید.

توسط پژوهشگر در 221 روز قبل ساعت 01:18
دسته بندی ها: SQL SQL for beginner
arash در 221 روز قبل ساعت 13:47

استفاده از SAVEPOINT درون تراکنش اجازه می‌دهد بخشی از تغییرات را بازگردانید بدون اینکه کل تراکنش لغو شود. نام‌گذاری واضح SAVEPOINT مانند sp1 کار بازگشت را ساده‌تر می‌کند و می‌توانید در صورت نیاز RELEASE SAVEPOINT را اجرا کنید اما ضروری نیست. توجه کنید که ROLLBACK TO SAVEPOINT همه تغییرات پس از آن را لغو می‌کند و سپس با ادامه تراکنش می‌توانید در نهایت COMMIT کنید. در PostgreSQL و InnoDB/MySQL این قابلیت پشتیبانی می‌شود، اما رفتار دقیق می‌تواند بین موتورهای مختلف کمی تفاوت داشته باشد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری