|
Begin transactioniboralarning o'zi oddiy sql so'rovi kabi so'rashingiz mumkin bo'lgan natijalar to'plamini yaratmaydi
|
Sana | 12.01.2024 | Hajmi | 113,87 Kb. | | #136175 |
Bog'liq 10-Topshiriq
O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
“KOMPYUTER INJINIRINGI” FAKULTETI
ATS 20-06 GURUH TALABASI Fazliddinov Iskandarning
“sql dasturlash”
fanidan
10-AMALIY ISHI
Fan o‘qituvchisi: Nabiyeva D.T
Talaba: 20-06-guruh, Fazliddinov I
S a m a r q a n d _ 2023
BEGIN TRANSACTION :
BEGIN TRANSACTIONiboralarning o'zi oddiy SQL so'rovi kabi so'rashingiz mumkin bo'lgan natijalar to'plamini yaratmaydi. Buning o'rniga, ular ma'lumotlar bazasi holatiga ta'sir qiluvchi tranzaktsiyalarni boshqarish bayonotlari.COMMITROLLBACK
Tranzaksiya blokida bir qator SQL bayonotlarini bajarganingizda, tranzaktsiyani amalga oshirmaguningizcha ( COMMIT) yoki tranzaksiyani orqaga qaytarmaguningizcha ( ROLLBACK) natija ko'rinmaydi.
Mana ba'zi faraziy SQL iboralari bilan asosiy misol:
-- Start a new transaction
BEGIN TRANSACTION;
-- Insert statements
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (1, 'John Doe', 1);
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (2, 'Jane Smith', 2);
-- Commit the transaction to make the changes permanent
COMMIT;
Ushbu misolda, bayonotlar bajarilmaguncha, bayonotlar tomonidan kiritilgan o'zgarishlar INSERTboshqa ma'lumotlar bazasi ulanishlariga ko'rinmaydi . COMMITAgar xatolik yuzaga kelsa yoki tranzaksiya davomida kiritilgan o'zgarishlarni bekor qilmoqchi bo'lsangiz, ROLLBACKo'rniga COMMIT.
COMMIT :
PostgreSQL-dagi bayonot COMMITjoriy tranzaksiya davomida kiritilgan o'zgarishlarni doimiy ravishda saqlash uchun ishlatiladi. Bu tranzaktsiyaning muvaffaqiyatli yakunlanishini bildiradi va o'zgarishlar boshqa tranzaktsiyalarga ko'rinadi. Asosiy sintaksis quyidagicha:
-- Start a new transaction
BEGIN TRANSACTION;
-- Insert statements
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (1, 'John Doe', 1);
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (2, 'Jane Smith', 2);
-- Commit the transaction to make the changes permanent
COMMIT;
Ushbu misolda, BEGIN TRANSACTIONyangi tranzaktsiyani boshlaydi, INSERTbayonotlar ma'lumotlar bazasiga o'zgartirishlar kiritadi va COMMITbayonot tranzaktsiyani amalga oshiradi va o'zgarishlarni doimiy qiladi.
Bayonot bajarilgandan so'ng COMMIT, o'zgarishlar boshqa ma'lumotlar bazasi ulanishlariga ko'rinadi va tranzaksiya tugallanadi.
Shuni ta'kidlash kerakki, tranzaktsiyani amalga oshirish juda muhim qadamdir, chunki u tranzaksiya davomida kiritilgan o'zgarishlar doimiy ravishda saqlanishini ta'minlaydi. ROLLBACKAgar tranzaktsiyani amalga oshirmasangiz, sessiya yopilganda yoki bayonot chiqarilganda o'zgarishlar orqaga qaytariladi .
ROLLBACK :
-- Start a new transaction
BEGIN TRANSACTION;
-- Insert statements
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (1, 'John Doe', 1);
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (2, 'Jane Smith', 2);
-- Rollback the transaction to discard the changes
ROLLBACK;
Bu statda BEGIN TRANSACTION_ _INSERTROLLBACK
Shuni ta'kidlash kerakki, tranzaktsiyani orqaga qaytarish - bu o'zgarishlarni bekor qilish va ma'lumotlar bazasini tranzaksiya boshlanishidan oldin uning holatiga qaytarish usulidir. Agar siz tranzaksiya davomida kiritilgan o'zgarishlarni doimiy ravishda saqlashni xohlamasangiz, bayonot berishingiz mumkin ROLLBACK.
Muayyan foydalanish holatlari va talablar asosida so'rovlarni sozlang.
DELETE :
|
|
Bosh sahifa
Aloqalar
Bosh sahifa
Begin transactioniboralarning o'zi oddiy sql so'rovi kabi so'rashingiz mumkin bo'lgan natijalar to'plamini yaratmaydi
|