الأمر ROLLBACK

من موسوعة حسوب
< SQL
اذهب إلى: تصفح، ابحث

يستخدم هذا الأمر لإلغاء العمليات المُجراة على قاعدة البيانات مما يعني تجاهل التغييرات التي طرأت عليها.

صيغة الأمر:
ROLLBACK [TRANSACTION];
وفي محركات SQLite و MySQL و PostgreSQL تمكن العودة إلى نقطة محددة حُفظت مسبقًا، وذلك عبر الأمر:
ROLLBACK TO SAVEPOINT savePointName;
إذ إن savePointName هو اسم نقطة الحفظ التي سيُرجع لها بتجاهل أية تغييرات طرأت بعدها.

مثال

إن كان جدول الزبائن customers موجودًا في قاعدة البيانات على النحو الآتي:

Bill OrderID FullName CustomerID
160 0291 Abd al-Salam Hadi 1156
170 0302 Ahmad Mostafa 1157
210 0203 Reem Hammad 1158
350 0294 Abd Allah Sadiq 1159
185 0255 Raghad al-Hamdan 1160
165 0276 Abd al-Razzaq Salloum 1161
175 0247 Hussam Siraj 1162
فعند تطبيق الاستعلام الآتي:
BEGIN TRANSACTION;  
DELETE FROM customers
WHERE Bill>200;
إذ إن BEGIN TRANSACTION تبدأ بالعملية التي ستحذف السجلات التي قيمة فاتورتها أكبر من 200 (عدد السجلات المحذوفة 2)، وللتراجع عن هذه التعديلات ليُعاد الجدول كما كان يُستخدم الأمر:
ROLLBACK;

التوافقية

SQLServer SQLite Oracle PostgreSQL MySQL
نعم نعم نعم نعم نعم

مصادر