الفرق بين المراجعتين لصفحة: «SQL/commit»
< SQL
لا ملخص تعديل |
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}' |
||
سطر 79: | سطر 79: | ||
* [https://sqlite.org/lang_transaction.html توثيق COMMIT في محرك SQLite] | * [https://sqlite.org/lang_transaction.html توثيق COMMIT في محرك SQLite] | ||
* [https://dev.mysql.com/doc/refman/5.7/en/commit.html توثيق COMMIT في محرك SQLServer] | * [https://dev.mysql.com/doc/refman/5.7/en/commit.html توثيق COMMIT في محرك SQLServer] | ||
[[تصنيف:SQL]] | [[تصنيف:SQL|{{SUBPAGENAME}}]] | ||
[[تصنيف:SQL Transactions]] | [[تصنيف:SQL Transactions|{{SUBPAGENAME}}]] |
المراجعة الحالية بتاريخ 15:43، 28 يناير 2018
يستخدم هذا الأمر بهدف حفظ التغييرات المُجراة على قاعدة البيانات نتيجة لتنفيذ العمليات، إذ تحفظ كافة التغييرات منذ آخر أمر COMMIT
أو ROLLBACK
.
صيغة الأمر:
COMMIT [TRANSACTION];
مثال
إن كان جدول الزبائن 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)، ولحفظ التغييرات التي جرت على قاعدة البيانات التي تحوي الجدول السابق يُستخدم الأمر:
COMMIT;
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | نعم | نعم | نعم | نعم |