Differenza Tra Trigger E Cursori

Differenza Tra Trigger E Cursori
Differenza Tra Trigger E Cursori

Video: Differenza Tra Trigger E Cursori

Video: Differenza Tra Trigger E Cursori
Video: Trigger espiratorio 2024, Aprile
Anonim

Trigger vs cursori

In un database, un trigger è una procedura (segmento di codice) che viene eseguita automaticamente quando si verificano alcuni eventi specifici in una tabella / vista. Tra gli altri utilizzi, i trigger vengono utilizzati principalmente per mantenere l'integrità in un database. Un cursore è una struttura di controllo utilizzata nei database per passare attraverso i record del database. È molto simile all'iteratore fornito da molti linguaggi di programmazione.

Cosa sono i trigger?

Un trigger è una procedura (segmento di codice) che viene eseguita automaticamente quando si verificano alcuni eventi specifici in una tabella / vista di un database. Tra gli altri usi, i trigger vengono utilizzati principalmente per mantenere l'integrità in un database. I trigger vengono utilizzati anche per applicare le regole aziendali, controllare le modifiche nel database e replicare i dati. I trigger più comuni sono i trigger DML (Data Manipulation Language) che vengono attivati quando i dati vengono manipolati. Alcuni sistemi di database supportano trigger non dati, che vengono attivati quando si verificano eventi DDL (Data Definition Language). Alcuni esempi sono trigger che vengono attivati quando vengono create tabelle, durante le operazioni di commit o rollback, ecc. Questi trigger possono essere utilizzati in particolare per il controllo. Il sistema di database Oracle supporta trigger a livello di schema (ad estrigger attivati quando gli schemi di database vengono modificati) come After Creation, Before Alter, After Alter, Before Drop, After Drop, ecc. I quattro tipi principali di trigger supportati da Oracle sono trigger a livello di riga, trigger a livello di colonna, trigger di ogni tipo di riga e Per ogni tipo di istruzione si attiva.

Cosa sono i cursori?

Un cursore è una struttura di controllo utilizzata nei database per scorrere i record del database. È molto simile all'iteratore fornito da molti linguaggi di programmazione. Oltre ad attraversare i record in un database, i cursori facilitano anche il recupero dei dati, l'aggiunta e l'eliminazione dei record. Definendo il modo corretto, i cursori possono essere utilizzati anche per spostarsi all'indietro. Quando una query SQL restituisce un insieme di righe, queste vengono effettivamente elaborate utilizzando i cursori. Un cursore deve essere dichiarato e assegnato un nome prima di poter essere utilizzato. Quindi il cursore deve essere aperto utilizzando il comando APRI. Questa operazione posizionerebbe il cursore appena prima della prima riga del set di record dei risultati. Quindi il cursore deve eseguire l'operazione FETCH per ottenere effettivamente una riga di dati nell'applicazione. Infine, il cursore deve essere chiuso utilizzando l'operazione CLOSE. I cursori chiusi possono essere aperti di nuovo.

Qual è la differenza tra Trigger e Cursors?

Un trigger è una procedura (segmento di codice) che viene eseguita automaticamente quando si verificano alcuni eventi specifici in una tabella / vista di un database, mentre un cursore è una struttura di controllo utilizzata nei database per passare attraverso i record del database. Un cursore può essere dichiarato e utilizzato all'interno di un trigger. In una situazione del genere, l'istruzione declare sarebbe all'interno del trigger. Quindi l'ambito del cursore sarebbe limitato a quel trigger. All'interno di un trigger, se un cursore viene dichiarato su una tabella inserita o eliminata, tale cursore non sarebbe accessibile da un trigger annidato. Una volta completato un trigger, tutti i cursori creati all'interno del trigger verranno de-allocati.

Raccomandato: