Diferența Dintre Declanșatoare și Cursori

Diferența Dintre Declanșatoare și Cursori
Diferența Dintre Declanșatoare și Cursori

Video: Diferența Dintre Declanșatoare și Cursori

Video: Diferența Dintre Declanșatoare și Cursori
Video: Care este diferența dintre point cut și deep point cut ! #Vestigo 2024, Noiembrie
Anonim

Declanșatoare vs Cursori

Într-o bază de date, un declanșator este o procedură (segment de cod) care se execută automat atunci când apar anumite evenimente specifice într-un tabel / vizualizare. Printre celelalte utilizări ale sale, declanșatoarele sunt utilizate în principal pentru menținerea integrității într-o bază de date. Un cursor este o structură de control utilizată în bazele de date pentru a trece prin înregistrările bazei de date. Este foarte asemănător cu iteratorul furnizat de multe limbaje de programare.

Ce sunt declanșatoarele?

Un declanșator este o procedură (segment de cod) care se execută automat atunci când apar anumite evenimente specifice într-un tabel / vizualizare a unei baze de date. Printre celelalte utilizări ale sale, declanșatoarele sunt utilizate în principal pentru menținerea integrității într-o bază de date. Declanșatoarele sunt, de asemenea, utilizate pentru aplicarea regulilor de afaceri, auditarea modificărilor din baza de date și reproducerea datelor. Cele mai frecvente declanșatoare sunt declanșatoarele Limbaj de manipulare a datelor (DML) care sunt declanșate atunci când datele sunt manipulate. Unele sisteme de baze de date acceptă declanșatoare non-date, care sunt declanșate atunci când apar evenimente Data Definition Language (DDL). Câteva exemple sunt declanșatoarele care sunt declanșate atunci când sunt create tabele, în timpul operațiunilor de comitere sau de revenire etc. Aceste declanșatoare pot fi utilizate în special pentru audit. Sistemul de baze de date Oracle acceptă declanșatoarele la nivel de schemă (de exempludeclanșatoarele declanșate atunci când schemele bazei de date sunt modificate), cum ar fi After Creation, Before Alter, After Alter, Before Drop, After Drop etc. Pentru fiecare declanșator de tip declarație.

Ce sunt cursorii?

Un cursor este o structură de control utilizată în bazele de date pentru a trece prin înregistrările bazei de date. Este foarte asemănător cu iteratorul furnizat de multe limbaje de programare. În plus față de parcurgerea înregistrărilor dintr-o bază de date, cursorele facilitează și recuperarea datelor, adăugarea și ștergerea înregistrărilor. Prin definirea modului corect, cursorele pot fi folosite și pentru a parcurge înapoi. Când o interogare SQL returnează un set de rânduri, acestea sunt de fapt procesate cu ajutorul cursorelor. Un cursor trebuie să fie declarat și atribuit un nume, înainte de a putea fi folosit. Apoi, cursorul trebuie deschis cu ajutorul comenzii OPEN. Această operație ar plasa cursorul chiar înainte de primul rând al setului de rezultate al înregistrărilor. Apoi, cursorul trebuie să efectueze operațiunea FETCH pentru a obține efectiv un rând de date în aplicație. În cele din urmă, cursorul trebuie închis folosind operația CLOSE. Cursorele închise pot fi deschise din nou.

Care este diferența dintre declanșatoare și cursori?

Un declanșator este o procedură (segment de cod) care se execută automat atunci când apar anumite evenimente specifice într-o tabelă / vizualizare a unei baze de date, în timp ce un cursor este o structură de control utilizată în bazele de date pentru a trece prin înregistrările bazei de date. Un cursor poate fi declarat și utilizat într-un declanșator. Într-o astfel de situație, declarația de declarare ar fi în interiorul declanșatorului. Apoi, scopul cursorului ar fi limitat la acel declanșator. În cadrul unui declanșator, dacă un cursor este declarat pe un tabel inserat sau șters, un astfel de cursor nu ar fi accesibil dintr-un declanșator imbricat. Odată ce un declanșator este finalizat, toți cursorii creați în cadrul declanșatorului vor fi delocați.

Recomandat: