Tranzaksiyalarni boshqarishda sql so’rovlari



Yüklə 235,91 Kb.
səhifə3/5
tarix22.12.2022
ölçüsü235,91 Kb.
#77307
1   2   3   4   5
2-mavzu (sinflar va dostona funksiyalar)

Shunday qilib, tranzaksiya - bu MBga tugallangan murojaat bo'lib quyidagi to'rtta shartning bajarilishini kafolatlaydi: Bo'linmaslik (atomarnost) - tranzaksiya boshi va oxiriga ega bo'lgan boTinmas blok. Bu blok yoki to'liqligicha bajariladi, yoki umuman bajarilmaydi;

SQL tilida tranzaksiya jarayoniga misol: SQL tilida har bir tranzaksiya bitta to'liq jarayonni bajarishiga tushuncha hosil qildik. Ana shunday jarayonga misol keltiramiz: "Ta'minlovchilar" jadvalidagi Sx raqamini Sy raqamiga o'zganirish lozim bo'lsin. Sx va Sy - berilgan aniq parametr.

Misolimizdan ko'rinib turibdiki, bu tranzaksiya jarayonida ikkita jadval ustuda o'zgarishlar amalga oshirilayapti. Demak, tranzaksiya deganimizda bitta amalni emas, balki amallar ketma-ketligini tushunish lozim.


TRANEX: PROC OPTIONS (MAIN); /* tranzaksiyaga misol*/ EXEC SQL
WNENEVER SQLERROR GO TO UNDO; GET LIST (SX,SY);
EXEC SQL UPDATE S
SET TA'MINLOVCHI RAQAMI = SY WHERE TA'MINLOVCHI RAQAMI =
SX;
EXEC SQL UPDATE SP
SET TA'MINLOVCHI RAQAMI = SY WHERE TA'MINLOVCHI RAQAMI =
SX;
EXEC SQL COMMIT;
GO TO FINISH;
UNDO: EXEC SQL ROLLBACK; FINISH: RETURN;
END TRANEX;
Bu yerda: > Agar himoya darajalari ko'rsatilmasa, himoya darajasi SERIALIZABLE deb tushumniladi.
> Agar ruxsat tartibi READWRITE kalit so'zi bilan belgilansa, unda himoyalanish darajasi READUNCOMMITTED bo'lmasligi kerak.
> Agar ruzsat tartibi va himoyalanish darajasi READUNCOMMITTED deb ko'rsatilsa, unda beriladigan ruxsat tartibi READONLY deb tushuniladi, aks hollarda ruxsat tartibi READWRITE bo'ladi.
Ko'pchilik hollarda tranzaksiyalaming bajarilish jarayonida MB jadvallari stmkturasi buzilishining oldini olish uchun tranzaksiyalarga faqat o'qish tartibini o'rnatish mumkin. Buning uchun quyidagi operator ishlatiladi:

SQL muhitida tranzaksiyalani boshqarish. SQL tilida tranzaksiyalami maxsus operatorlat yordamida boshqarish imkoniyati mavjud. Shulardan biri tranzaksiya parametrlarini o'matish operatori bo'lib, uniyozilish formati quyidgicha:


::=
SET TRANSACTION transaction mode> [ { transaction mode> }... ] transaction mode> ::=

|
| ^diagnostics size>
^isolation level> ::=
ISOLATION LEVEL «level of isolation>
::=
READ UNCOMMITTED | READ COMMITTED i REPEATABLE READ | SERIALIZAB1 1
transaction access mode>
READ ONLY | READ WRITE
diagnostics size> ::=
DIAGNOSTICS SIZE
::=

Yüklə 235,91 Kb.

Dostları ilə paylaş:
1   2   3   4   5




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin