Diferència entre activadors i cursors

Diferència entre activadors i cursors
Diferència entre activadors i cursors

Vídeo: Diferència entre activadors i cursors

Vídeo: Diferència entre activadors i cursors
Vídeo: The Difference Between Google and Facebook 2024, Juny
Anonim

Triggers vs Cursors

En una base de dades, un activador és un procediment (segment de codi) que s'executa automàticament quan es produeixen alguns esdeveniments específics en una taula/vista. Entre els seus altres usos, els activadors s'utilitzen principalment per mantenir la integritat en una base de dades. Un cursor és una estructura de control utilitzada a les bases de dades per recórrer els registres de la base de dades. És molt semblant a l'iterador que ofereixen molts llenguatges de programació.

Què són els activadors?

Un disparador és un procediment (segment de codi) que s'executa automàticament quan es produeixen alguns esdeveniments específics en una taula/visualització d'una base de dades. Entre els seus altres usos, els activadors s'utilitzen principalment per mantenir la integritat en una base de dades. Els activadors també s'utilitzen per fer complir les regles empresarials, auditar els canvis a la base de dades i replicar dades. Els activadors més habituals són els activadors del llenguatge de manipulació de dades (DML) que s'activen quan es manipulen les dades. Alguns sistemes de bases de dades admeten activadors que no són de dades, que s'activen quan es produeixen esdeveniments del llenguatge de definició de dades (DDL). Alguns exemples són els activadors que s'executen quan es creen taules, durant les operacions de confirmació o de descàrrega, etc. Aquests activadors es poden utilitzar especialment per a l'auditoria. El sistema de bases de dades Oracle admet activadors de nivell d'esquema (és a dir, activadors activats quan es modifiquen els esquemes de bases de dades), com ara After Creation, Before Alter, After Alter, Before Drop, After Drop, etc. Els quatre tipus principals d'activadors admesos per Oracle són els disparadors de nivell de fila, Activadors de nivell de columna, activadors de cada tipus de fila i activadors de cada tipus de declaració.

Què són els cursors?

Un cursor és una estructura de control que s'utilitza a les bases de dades per recórrer els registres de la base de dades. És molt semblant a l'iterador que proporcionen molts llenguatges de programació. A més de recórrer els registres d'una base de dades, els cursors també faciliten la recuperació de dades, l'addició i la supressió de registres. En definir la manera correcta, els cursors també es poden utilitzar per recórrer cap enrere. Quan una consulta SQL retorna un conjunt de files, aquestes es processen amb cursors. S'ha de declarar un cursor i assignar-li un nom abans que es pugui utilitzar. Aleshores, s'ha d'obrir el cursor mitjançant l'ordre OPEN. Aquesta operació situaria el cursor just abans de la primera fila del conjunt de resultats de registres. Aleshores, el cursor ha de realitzar l'operació FETCH per obtenir realment una fila de dades a l'aplicació. Finalment, s'ha de tancar el cursor mitjançant l'operació CLOSE. Els cursors tancats es poden tornar a obrir.

Quina diferència hi ha entre els activadors i els cursors?

Un disparador és un procediment (segment de codi) que s'executa automàticament quan es produeixen alguns esdeveniments específics en una taula/vista d'una base de dades, mentre que un cursor és una estructura de control que s'utilitza a les bases de dades per recórrer els registres de la base de dades. Un cursor es pot declarar i utilitzar dins d'un activador. En aquesta situació, la declaració de declarar estaria dins del disparador. Aleshores, l'abast del cursor es limitaria a aquest activador. Dins d'un activador, si es declara un cursor en una taula inserida o suprimida, aquest cursor no seria accessible des d'un activador imbricat. Un cop s'hagi completat un activador, es desassignaran tots els cursors creats dins de l'activador.

Recomanat: