Dallimi ndërmjet nxitësve dhe kursorëve

Dallimi ndërmjet nxitësve dhe kursorëve
Dallimi ndërmjet nxitësve dhe kursorëve

Video: Dallimi ndërmjet nxitësve dhe kursorëve

Video: Dallimi ndërmjet nxitësve dhe kursorëve
Video: Shenjat që tregojnë se ka sihër (magji) në shtëpi! 2024, Qershor
Anonim

Triggers vs Cursors

Në një bazë të dhënash, një nxitës është një procedurë (segment kodi) që ekzekutohet automatikisht kur ndodhin disa ngjarje specifike në një tabelë/pamje. Ndër përdorimet e tjera të tij, nxitësit përdoren kryesisht për ruajtjen e integritetit në një bazë të dhënash. Kursori është një strukturë kontrolli që përdoret në bazat e të dhënave për të kaluar nëpër të dhënat e bazës së të dhënave. Është shumë i ngjashëm me përsëritësin e ofruar nga shumë gjuhë programimi.

Çfarë janë shkaktarët?

Një shkas është një procedurë (segment kodi) që ekzekutohet automatikisht kur ndodhin disa ngjarje specifike në një tabelë/pamje të një baze të dhënash. Ndër përdorimet e tjera të tij, nxitësit përdoren kryesisht për ruajtjen e integritetit në një bazë të dhënash. Shkaktarët përdoren gjithashtu për zbatimin e rregullave të biznesit, auditimin e ndryshimeve në bazën e të dhënave dhe përsëritjen e të dhënave. Aktivizuesit më të zakonshëm janë nxitësit e gjuhës së manipulimit të të dhënave (DML) që aktivizohen kur të dhënat manipulohen. Disa sisteme të bazës së të dhënave mbështesin aktivizuesit jo të të dhënave, të cilat aktivizohen kur ndodhin ngjarjet e gjuhës së përkufizimit të të dhënave (DDL). Disa shembuj janë nxitës që aktivizohen kur krijohen tabela, gjatë kryerjes ose operacioneve të rikthimit, etj. Këta nxitës mund të përdoren veçanërisht për auditim. Sistemi i bazës së të dhënave Oracle mbështet aktivizuesit e nivelit të skemës (d.m.th., aktivizuesit e aktivizuar kur skemat e bazës së të dhënave modifikohen) si p.sh. After Creation, Before Alter, After Alter, Before Drop, After Drop, etj. Katër llojet kryesore të nxitësve të mbështetur nga Oracle janë aktivizuesit e nivelit të rreshtit. Aktivizuesit e nivelit të kolonës, aktivizuesit e çdo lloji rreshti dhe aktivizuesit për çdo lloj deklarate.

Çfarë janë kursorët?

Një kursori është një strukturë kontrolli që përdoret në bazat e të dhënave për të kaluar nëpër të dhënat e bazës së të dhënave. Është shumë i ngjashëm me përsëritësin e ofruar nga shumë gjuhë programimi. Përveç kalimit nëpër regjistrime në një bazë të dhënash, kursorët gjithashtu lehtësojnë marrjen e të dhënave, shtimin dhe fshirjen e të dhënave. Duke përcaktuar mënyrën e duhur, kursorët mund të përdoren gjithashtu për të përshkuar prapa. Kur një pyetje SQL kthen një grup rreshtash, ato në të vërtetë përpunohen duke përdorur kursorët. Një kursorit duhet të deklarohet dhe t'i caktohet një emër, përpara se të mund të përdoret. Pastaj kursori duhet të hapet duke përdorur komandën OPEN. Ky operacion do ta vendoste kursorin pak përpara rreshtit të parë të grupit të rezultateve të rekordeve. Pastaj kursori duhet të kryejë operacionin FETCH për të futur në të vërtetë një rresht të dhënash në aplikacion. Së fundi, kursori duhet të mbyllet duke përdorur funksionin CLOSE. Kursorët e mbyllur mund të hapen përsëri.

Cili është ndryshimi midis aktivizuesve dhe kursorëve?

Një shkas është një procedurë (segment kodi) që ekzekutohet automatikisht kur ndodhin disa ngjarje specifike në një tabelë/pamje të një baze të dhënash, ndërsa kursori është një strukturë kontrolli që përdoret në bazat e të dhënave për të kaluar nëpër të dhënat e bazës së të dhënave. Një kursor mund të deklarohet dhe përdoret brenda një shkas. Në një situatë të tillë, deklarata e deklarimit do të ishte brenda këmbëzës. Atëherë shtrirja e kursorit do të kufizohej në atë shkas. Brenda një këmbëze, nëse një kursor deklarohet në një tabelë të futur ose të fshirë, një kursor i tillë nuk do të ishte i aksesueshëm nga një këmbëz i vendosur. Pasi të përfundojë një këmbëz, të gjithë kursorët e krijuar brenda këmbëzës do të ç'alokohen.

Recommended: