Triggerlar va saqlangan protseduralar o'rtasidagi farq

Triggerlar va saqlangan protseduralar o'rtasidagi farq
Triggerlar va saqlangan protseduralar o'rtasidagi farq

Video: Triggerlar va saqlangan protseduralar o'rtasidagi farq

Video: Triggerlar va saqlangan protseduralar o'rtasidagi farq
Video: Triggerlar haqida umumiy tushuncha 2024, Noyabr
Anonim

Triggerlar va saqlangan protseduralar

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. Saqlangan protsedura - bu relyatsion ma'lumotlar bazasiga kiradigan ilovalar tomonidan ishlatilishi mumkin bo'lgan usul. Odatda, saqlangan protseduralar ma'lumotlarni tekshirish va ma'lumotlar bazasiga kirishni nazorat qilish usuli sifatida ishlatiladi.

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.

Saqlangan protseduralar nima?

Saqlangan protsedura - bu relyatsion ma'lumotlar bazasiga kirish uchun ilova tomonidan ishlatilishi mumkin bo'lgan usul. Odatda, saqlangan protseduralar ma'lumotlarni tekshirish va ma'lumotlar bazasiga kirishni nazorat qilish usuli sifatida ishlatiladi. Agar ma'lumotlarni qayta ishlashning ba'zi operatsiyalari bir nechta SQL bayonotlarini bajarishni talab qilsa, bunday operatsiyalar saqlanadigan protseduralar sifatida amalga oshiriladi. Saqlangan protsedurani chaqirishda CALL yoki EXECUTE operatoridan foydalanish kerak. Saqlangan protseduralar natijalarni qaytarishi mumkin (masalan, SELECT iboralari natijalari). Ushbu natijalar boshqa saqlangan protseduralar yoki ilovalar tomonidan ishlatilishi mumkin. Saqlangan protseduralarni yozish uchun ishlatiladigan tillar odatda agar, while, for va hokazo kabi boshqaruv tuzilmalarini qo'llab-quvvatlaydi. Amaldagi ma'lumotlar bazasi tizimiga qarab, saqlangan protseduralarni amalga oshirish uchun bir nechta tillardan foydalanish mumkin (masalan, Oracle-da PL/SQL va java, T- Microsoft SQL Serverda SQL (Transact-SQL) va. NET Framework). Bundan tashqari, MySQL o'zining saqlangan protseduralaridan foydalanadi.

Triggerlar va saqlangan protseduralar 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), saqlangan protsedura esa relyatsion ma'lumotlar bazasiga kiruvchi dastur tomonidan ishlatilishi mumkin bo'lgan usuldir.. Trigger javob berishi kerak bo'lgan voqea sodir bo'lganda, triggerlar avtomatik ravishda amalga oshiriladi. Ammo saqlangan protsedurani bajarish uchun ma'lum bir CALL yoki EXECUTE operatoridan foydalanish kerak. Triggerlarni tuzatish saqlangan protseduralarni tuzatishdan ko'ra qiyinroq va qiyinroq bo'lishi mumkin. Muayyan hodisa sodir bo'lganda nimadir sodir bo'lishiga ishonch hosil qilishni istasangiz, triggerlar juda foydali.

Tavsiya: