Trigger tanasida operatorlar bo'lishi mumkin emas:
... Ma'lumotlar bazasi ob'ektlarining ta'rifi, o'chirilishi va o'zgartirilishi (jadvallar, domenlar va boshqalar).
... Tranzaktsiyalarni qayta ishlash (COMMIT, ROLLBACK)
... Ma'lumotlar bazasiga ulanish va uzilishlar (ULANISH, O'CHIRISH)
Ilova xususiyatlari
... Tetik boshqa barcha (deklarativ) yaxlitlik tekshiruvi o'tkazilgandan so'ng bajariladi va test mezonlari etarlicha murakkab bo'lganda foydalidir. Agar deklarativ tekshiruvlar yangilanish operatsiyasini rad etsa, u holda u tetiklovchilarni ishga solmaydi. Trigger tranzaksiya kontekstida ishlaydi, lekin FK cheklovi yo'q.
... Agar tetik asosiy jadvalga qo'shimcha o'zgartirishlar kiritsa, bu ko'pincha uning rekursiv bajarilishiga olib kelmaydi, lekin buni aniqlashtirish kerak. SQL Server 2005, OPTION kalit so'zidan (MAXRECURSIV 3) foydalanib, 255 darajagacha rekursiyani belgilash imkoniyatini beradi.
... Triggerlar odatda ikkilik katta ustunlarni (BLOB) qayta ishlashda muvaffaqiyatsizlikka uchraydi.
... Shuni esda tutish kerakki, har safar ma'lumotlar yangilanib turganda, DBMS avtomatik ravishda tetik deb nomlanadi virtual jadvallar, har xil ma'lumotlar bazasida har xil nomlar mavjud. InterBase va Oracle -da - bu yangi va eski. SQL Serverda Kiritilgan va O'chirilgan. Bundan tashqari, ma'lumotlar o'zgartirilganda, ikkalasi ham yaratiladi. Bu jadvallar jadvallar yangilanayotgani kabi bir xil nom va domenlarga ega bo'lgan bir xil ustunlar soniga ega. SQL Server 2005 jadvalni, shu jumladan vaqtinchalik jadvalni, OUTPUT Inserted.ID,… INTO @ kalit so'zlari yordamida ma'lumotlarni kiritish imkoniyatini beradi.
... Bir qator DBMSlarda bir vaqtning o'zida bir nechta harakatlar uchun tetiklarni e'lon qilish joizdir. Har xil harakatlarga har xil reaktsiyalarni amalga oshirish uchun Oracle predikatlar O'chirish, Qo'shish, Yangilashni beradi, ular mos keladigan yangilanish turiga to'g'ri keladi.
... Oracle-da Update triggerlari uchun ustunlar ro'yxatini (Update Of After) belgilashingiz mumkin, bu faqat shu ustunlarning qiymatlari o'zgartirilganda trigger chaqirilishini ta'minlaydi.
... Har bir tetiklanish hodisasi uchun bir nechta tetiklarni e'lon qilish mumkin (Oracle -da, har bir jadval uchun 12 ta tetik) va odatda ularni otish tartibi ular yaratilgan tartib bilan belgilanadi. Ba'zi DBMSlarda, masalan, InterBase -da, ishga tushirish tartibi qo'shimcha POSITION kalit so'zi yordamida ko'rsatiladi. Umuman olganda, tetiklar har bir buyruq uchun, so'ngra har bir satr uchun bajarilishi kerak deb taxmin qilinadi.
... Triggerlar bir -biriga joylashtirilishi mumkin. Masalan, SQL Server 32 ta joylashtirish darajasiga ruxsat beradi (@@ NextLevel global o'zgaruvchisidan foydalanib, joylashtirish darajasini aniqlash mumkin).
Do'stlaringiz bilan baham: |