სხვაობა ტრიგერებსა და კურსორებს შორის

სხვაობა ტრიგერებსა და კურსორებს შორის
სხვაობა ტრიგერებსა და კურსორებს შორის

ვიდეო: სხვაობა ტრიგერებსა და კურსორებს შორის

ვიდეო: სხვაობა ტრიგერებსა და კურსორებს შორის
ვიდეო: მკითხაობა, ჯადოქრობა და ხალხური მაგია - ფენოვანი 2.10 2024, ივნისი
Anonim

ტრიგერები კურსორების წინააღმდეგ

მონაცემთა ბაზაში ტრიგერი არის პროცედურა (კოდის სეგმენტი), რომელიც ავტომატურად სრულდება, როდესაც გარკვეული კონკრეტული მოვლენა ხდება ცხრილში/ხედში. მის სხვა გამოყენებას შორის, ტრიგერები ძირითადად გამოიყენება მონაცემთა ბაზაში მთლიანობის შესანარჩუნებლად. კურსორი არის საკონტროლო სტრუქტურა, რომელიც გამოიყენება მონაცემთა ბაზებში მონაცემთა ბაზის ჩანაწერების გასავლელად. ის ძალიან ჰგავს პროგრამირების მრავალი ენის მიერ მოწოდებულ იტერატორს.

რა არის ტრიგერები?

ტრიგერი არის პროცედურა (კოდის სეგმენტი), რომელიც სრულდება ავტომატურად, როდესაც ხდება ზოგიერთი კონკრეტული მოვლენა მონაცემთა ბაზის ცხრილში/ხედში. მის სხვა გამოყენებას შორის, ტრიგერები ძირითადად გამოიყენება მონაცემთა ბაზაში მთლიანობის შესანარჩუნებლად.ტრიგერები ასევე გამოიყენება ბიზნეს წესების განსახორციელებლად, მონაცემთა ბაზაში ცვლილებების შემოწმებისა და მონაცემების გასამეორებლად. ყველაზე გავრცელებული ტრიგერები არის მონაცემთა მანიპულირების ენის (DML) ტრიგერები, რომლებიც ამოქმედდება მონაცემთა მანიპულირებისას. ზოგიერთი მონაცემთა ბაზის სისტემა მხარს უჭერს არა-მონაცემთა ტრიგერებს, რომლებიც ამოქმედდება მონაცემთა განმარტების ენის (DDL) მოვლენების დროს. ზოგიერთი მაგალითი არის ტრიგერები, რომლებიც ირთვება ცხრილების შექმნისას, ჩადენის ან უკან დაბრუნების ოპერაციების დროს და ა.შ. ეს ტრიგერები განსაკუთრებით შეიძლება გამოყენებულ იქნას აუდიტისთვის. Oracle-ის მონაცემთა ბაზის სისტემა მხარს უჭერს სქემის დონის ტრიგერებს (ანუ ტრიგერები, რომლებიც გააქტიურებულია მონაცემთა ბაზის სქემების მოდიფიცირებისას), როგორიცაა შექმნის შემდეგ, სანამ შეცვლა, შემდეგ შეცვლა, ადრე დაცემა, შემდეგ ჩაშვება და ა.შ. ტრიგერების ოთხი ძირითადი ტიპი, რომელსაც მხარს უჭერს Oracle არის მწკრივის დონის ტრიგერები. სვეტის დონის ტრიგერები, თითოეული რიგის ტიპის ტრიგერები და თითოეული განცხადების ტიპის ტრიგერები.

რა არის კურსორები?

კურსორი არის საკონტროლო სტრუქტურა, რომელიც გამოიყენება მონაცემთა ბაზებში მონაცემთა ბაზის ჩანაწერების გასავლელად.ის ძალიან ჰგავს პროგრამირების მრავალი ენის მიერ მოწოდებულ იტერატორს. მონაცემთა ბაზაში ჩანაწერების გადაადგილების გარდა, კურსორები ასევე ხელს უწყობენ მონაცემთა მოძიებას, ჩანაწერების დამატებას და წაშლას. სწორი გზის განსაზღვრით, კურსორების გამოყენება ასევე შესაძლებელია უკან გადასასვლელად. როდესაც SQL მოთხოვნა აბრუნებს რიგების კომპლექტს, ისინი რეალურად მუშავდება კურსორების გამოყენებით. კურსორი უნდა გამოცხადდეს და მიენიჭოს სახელი, სანამ ის გამოიყენებოდა. შემდეგ კურსორი უნდა გაიხსნას OPEN ბრძანების გამოყენებით. ეს ოპერაცია მოათავსებს კურსორს ჩანაწერების შედეგების ნაკრების პირველი რიგის წინ. შემდეგ კურსორმა უნდა შეასრულოს FETCH ოპერაცია, რომ რეალურად მიიღოს მონაცემების რიგი აპლიკაციაში. საბოლოოდ, კურსორი უნდა დაიხუროს CLOSE ოპერაციით. დახურული კურსორების ხელახლა გახსნა შესაძლებელია.

რა განსხვავებაა ტრიგერებსა და კურსორებს შორის?

ტრიგერი არის პროცედურა (კოდის სეგმენტი), რომელიც შესრულებულია ავტომატურად, როდესაც ხდება ზოგიერთი კონკრეტული მოვლენა მონაცემთა ბაზის ცხრილში/ხედში, ხოლო კურსორი არის საკონტროლო სტრუქტურა, რომელიც გამოიყენება მონაცემთა ბაზებში მონაცემთა ბაზის ჩანაწერების გასავლელად.კურსორის გამოცხადება და გამოყენება შესაძლებელია ტრიგერის ფარგლებში. ასეთ ვითარებაში, დეკლარაციის განცხადება იქნება ტრიგერის შიგნით. მაშინ კურსორის ფარგლები შემოიფარგლება ამ ტრიგერით. ტრიგერის ფარგლებში, თუ კურსორი გამოცხადებულია ჩასმულ ან წაშლილ ცხრილზე, ასეთი კურსორი მიუწვდომელი იქნება ჩადგმული ტრიგერიდან. ტრიგერის დასრულების შემდეგ, ტრიგერის შიგნით შექმნილი ყველა კურსორი გაუქმდება.

გირჩევთ: