الأمر START TRANSACTION
< SQL
اذهب إلى التنقل
اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
يُستخدم هذا الأمر للإعلام بالبدء بإجراء مجموعة من العمليات التي قد تنتهي بأمر COMMIT
أو ROLLBACK
، وله الصيغة التالية:
START TRANSACTION;
وتختلف هذه الصيغة باستخدام الكلمة المفتاحية BEGIN
في محرك SQL Server لتصبح:
BEGIN TRANSACTION;
أما في محرك SQLite فهي الكلمة المفتاحية BEGIN
فقط، أيّ:
BEGIN;
وفي محرك Oracle يصبح الأمر على النحو الآتي:
SET TRANSACTION NAME 'name';
ويكون هذا الأمر مسؤولًا عن البدء بالعمليات وتسميتها بآن واحد بالاسم الذي يُحدد عبر name.
مثال
إذا كان الجدول الآتي موجودًا في قاعدة البيانات:
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
لتُجرَى العمليات بعدها (حذف السجلات التي تكون فيها قيمة الفاتورة أكبر من 200) وتُحفَظ التغييرات عبر الأمر COMMIT
:
BEGIN TRANSACTION;
DELETE FROM customers
WHERE Bill>200;
COMMIT;
التوافقية
SQLServer | SQLite | Oracle | PostgreSQL | MySQL |
---|---|---|---|---|
نعم | نعم | نعم | نعم | نعم |