Триггер болон хадгалагдсан процедурын ялгаа

Триггер болон хадгалагдсан процедурын ялгаа
Триггер болон хадгалагдсан процедурын ялгаа

Видео: Триггер болон хадгалагдсан процедурын ялгаа

Видео: Триггер болон хадгалагдсан процедурын ялгаа
Видео: НейроДЭНС-ПКМ в подробностях 2024, Арваннэгдүгээр
Anonim

Триггер ба Хадгалагдсан Процедурууд

Өгөгдлийн санд триггер нь хүснэгт/харагдахад тодорхой үйл явдал тохиолдоход автоматаар хийгдэх процедур (кодын сегмент) юм. Бусад хэрэглээний дотроос триггерийг мэдээллийн сангийн бүрэн бүтэн байдлыг хангахад голчлон ашигладаг. Хадгалагдсан процедур нь харилцааны өгөгдлийн санд ханддаг програмуудын ашиглаж болох арга юм. Ихэвчлэн хадгалагдсан процедурыг өгөгдлийг баталгаажуулах, мэдээллийн санд хандах хандалтыг хянах арга болгон ашигладаг.

Триггер гэж юу вэ?

Өгөгдлийн сангийн хүснэгт/харагдахад зарим тодорхой үйл явдал тохиолдоход автоматаар хийгдэх процедур (кодын сегмент)-ийг триггер гэнэ. Бусад хэрэглээний дотроос триггерийг мэдээллийн сангийн бүрэн бүтэн байдлыг хангахад голчлон ашигладаг. Триггерийг бизнесийн дүрэм журмыг хэрэгжүүлэх, мэдээллийн сан дахь өөрчлөлтийг шалгах, өгөгдлийг хуулбарлахад ашигладаг. Хамгийн түгээмэл триггерүүд нь өгөгдлийг өөрчилсөн үед өдөөгддөг Data Manipulation Language (DML) триггерүүд юм. Зарим мэдээллийн сангийн системүүд Өгөгдлийн тодорхойлолтын хэл (DDL) үйл явдал тохиолдоход өдөөгддөг өгөгдлийн бус триггерүүдийг дэмждэг. Зарим жишээ нь хүснэгт үүсгэх, гүйцэтгэх эсвэл буцаах үйлдлүүд гэх мэт үйлдлүүдийн үед ажилладаг триггерүүд юм. Эдгээр триггерийг ялангуяа аудит хийхэд ашиглаж болно. Oracle өгөгдлийн сангийн систем нь үүсгэсний дараа, өөрчлөхийн өмнө, өөрчилсний дараа, уналтаас өмнө, уналтын дараа гэх мэт схемийн түвшний триггерүүдийг (жишээ нь өгөгдлийн сангийн схемийг өөрчлөх үед ажилладаг триггерүүдийг) дэмждэг. Oracle-ийн дэмждэг үндсэн дөрвөн төрлийн триггер нь Row Level триггер, Баганын түвшний триггер, Мөр төрөл бүрийн триггер болон мэдэгдлийн төрөл бүрийн триггер.

Хадгалагдсан журам гэж юу вэ?

Хадгалагдсан процедур нь харилцааны мэдээллийн санд ханддаг програмын ашиглаж болох арга юм. Ихэвчлэн хадгалагдсан процедурыг өгөгдлийг баталгаажуулах, мэдээллийн санд хандах хандалтыг хянах арга болгон ашигладаг. Хэрэв зарим өгөгдөл боловсруулах үйл ажиллагаа нь хэд хэдэн SQL хэллэгийг гүйцэтгэхийг шаарддаг бол эдгээр үйлдлүүдийг хадгалагдсан процедур хэлбэрээр гүйцэтгэдэг. Хадгалагдсан процедурыг дуудахдаа CALL эсвэл EXECUTE хэллэгийг ашиглах шаардлагатай. Хадгалагдсан процедур нь үр дүнг буцаах боломжтой (жишээ нь SELECT мэдэгдлийн үр дүн). Эдгээр үр дүнг бусад хадгалсан процедур эсвэл программууд ашиглаж болно. Хадгалагдсан процедурыг бичихэд ашигладаг хэлүүд нь ихэвчлэн if, while, for гэх мэт хяналтын бүтцийг дэмждэг. Ашигласан мэдээллийн сангийн системээс хамааран хадгалагдсан процедурыг хэрэгжүүлэхэд хэд хэдэн хэл ашиглаж болно (жишээ нь: Oracle дахь PL/SQL болон java, T- Microsoft SQL Server дээрх SQL (Transact-SQL) болон. NET Framework). Цаашилбал, MySQL өөрийн хадгалсан процедурыг ашигладаг.

Триггер болон Хадгалсан Процедурын ялгаа нь юу вэ?

Триггер нь өгөгдлийн сангийн хүснэгт/харагдахад зарим тодорхой үйл явдал тохиолдоход автоматаар хийгдэх процедур (кодын сегмент) бөгөөд хадгалагдсан процедур нь харилцааны мэдээллийн санд хандах программ ашиглаж болох арга юм.. Триггер хариу өгөх ёстой үйл явдал тохиолдоход триггерүүд автоматаар ажиллана. Гэхдээ хадгалагдсан процедурыг гүйцэтгэхийн тулд тодорхой CALL эсвэл EXECUTE хэллэгийг ашиглах шаардлагатай. Өдөөгчийг дибаг хийх нь хадгалагдсан процедурыг дибаг хийхээс илүү хэцүү бөгөөд төвөгтэй байж болно. Тодорхой үйл явдал тохиолдоход ямар нэг зүйл болох эсэхийг шалгахыг хүсвэл өдөөгч нь маш хэрэгтэй.

Зөвлөмж болгож буй: