Triggerlar va kursorlar oʻrtasidagi farq

Triggerlar va kursorlar oʻrtasidagi farq
Triggerlar va kursorlar oʻrtasidagi farq

Video: Triggerlar va kursorlar oʻrtasidagi farq

Video: Triggerlar va kursorlar oʻrtasidagi farq
Video: T-SQL (Transact-SQL) dərsləri - Ön söz və tədris planı I Dərs I İNNAB 2024, Noyabr
Anonim

Triggerlar va kursorlar

Ma'lumotlar bazasida trigger - bu jadval/ko'rinishda ba'zi bir aniq hodisalar sodir bo'lganda avtomatik ravishda bajariladigan protsedura (kod segmenti). Uning boshqa qo'llanilishi qatorida triggerlar asosan ma'lumotlar bazasida yaxlitlikni saqlash uchun ishlatiladi. Kursor - bu ma'lumotlar bazalarida ma'lumotlar bazasi yozuvlari orqali o'tish uchun ishlatiladigan boshqaruv tuzilmasi. U koʻplab dasturlash tillari tomonidan taqdim etilgan iteratorga juda oʻxshaydi.

Triggerlar nima?

Trigger - bu ma'lumotlar bazasi jadvali/ko'rinishida ba'zi bir aniq hodisalar sodir bo'lganda avtomatik ravishda bajariladigan protsedura (kod segmenti). Uning boshqa qo'llanilishi qatorida triggerlar asosan ma'lumotlar bazasida yaxlitlikni saqlash uchun ishlatiladi. Triggerlar biznes qoidalarini qo'llash, ma'lumotlar bazasidagi o'zgarishlarni tekshirish va ma'lumotlarni takrorlash uchun ham qo'llaniladi. Eng keng tarqalgan triggerlar ma'lumotlar manipulyatsiyasi paytida ishga tushiriladigan Ma'lumotlarni boshqarish tili (DML) triggerlaridir. Ba'zi ma'lumotlar bazasi tizimlari ma'lumotlar bo'lmagan triggerlarni qo'llab-quvvatlaydi, ular Data Definition Language (DDL) hodisalari sodir bo'lganda ishga tushadi. Ba'zi misollar, jadvallar yaratilganda, commit yoki ortga qaytarish operatsiyalari sodir bo'lganda va hokazolarda ishga tushiriladigan triggerlardir. Bu triggerlar ayniqsa audit uchun ishlatilishi mumkin. Oracle ma'lumotlar bazasi tizimi sxema darajasidagi triggerlarni (ya'ni, ma'lumotlar bazasi sxemalari o'zgartirilganda ishga tushiriladigan triggerlar) qo'llab-quvvatlaydi, masalan, Yaratgandan keyin, O'zgartirishdan oldin, O'zgartirilgandan keyin, Tushdan oldin, Tushdan keyin va hokazo. Oracle tomonidan qo'llab-quvvatlanadigan triggerlarning to'rtta asosiy turi qator darajasidagi triggerlardir, Ustun darajasidagi triggerlar, Har bir satr turi va Har bir bayonot turi uchun triggerlar.

Kursorlar nima?

Kursor - bu ma'lumotlar bazalarida ma'lumotlar bazasi yozuvlari orqali o'tish uchun ishlatiladigan boshqaruv tuzilmasi. Bu ko'plab dasturlash tillari tomonidan taqdim etilgan iteratorga juda o'xshaydi. Kursorlar ma'lumotlar bazasidagi yozuvlar bo'ylab o'tishdan tashqari, ma'lumotlarni qidirish, yozuvlarni qo'shish va o'chirishni ham osonlashtiradi. To'g'ri yo'lni belgilash orqali kursorlar orqaga o'tish uchun ham ishlatilishi mumkin. Agar SQL so'rovi qatorlar to'plamini qaytarsa, ular aslida kursorlar yordamida qayta ishlanadi. Kursorni ishlatishdan oldin uni e'lon qilish va unga nom berish kerak. Keyin kursorni OPEN buyrug'i yordamida ochish kerak. Ushbu operatsiya kursorni natijalar to'plamining birinchi qatori oldiga qo'yadi. Keyin kursor dasturga bir qator ma'lumotlarni olish uchun FETCH operatsiyasini bajarishi kerak. Nihoyat, CLOSE operatsiyasi yordamida kursorni yopish kerak. Yopiq kursorlarni yana ochish mumkin.

Triggerlar va kursorlar oʻrtasidagi farq nima?

Trigger - bu ma'lumotlar bazasi jadvali/ko'rinishida ba'zi bir aniq hodisalar sodir bo'lganda avtomatik ravishda bajariladigan protsedura (kod segmenti), kursor esa ma'lumotlar bazasi yozuvlari orqali o'tish uchun ma'lumotlar bazalarida ishlatiladigan boshqaruv tuzilmasi. Kursor trigger ichida e'lon qilinishi va ishlatilishi mumkin. Bunday vaziyatda deklaratsiya bayonoti trigger ichida bo'ladi. Keyin kursorning ko'lami o'sha trigger bilan chegaralanadi. Trigger ichida, kursor kiritilgan yoki o'chirilgan jadvalda e'lon qilingan bo'lsa, bunday kursorga o'rnatilgan triggerdan kirish imkoni bo'lmaydi. Trigger tugallangach, trigger ichida yaratilgan barcha kursorlar ajratiladi.

Tavsiya: