Skillnaden mellan utlösare och markörer

Skillnaden mellan utlösare och markörer
Skillnaden mellan utlösare och markörer

Video: Skillnaden mellan utlösare och markörer

Video: Skillnaden mellan utlösare och markörer
Video: Lokaltidningar under press - miljarderna går till Google och Facebook 2024, November
Anonim

Triggers vs Cursors

I en databas är en trigger en procedur (kodsegment) som exekveras automatiskt när vissa specifika händelser inträffar i en tabell/vy. Bland dess andra användningsområden används triggers främst för att upprätthålla integritet i en databas. En markör är en kontrollstruktur som används i databaser för att gå igenom databasposterna. Den är väldigt lik iteratorn som tillhandahålls av många programmeringsspråk.

Vad är utlösare?

En trigger är en procedur (kodsegment) som exekveras automatiskt när vissa specifika händelser inträffar i en tabell/vy av en databas. Bland dess andra användningsområden används triggers främst för att upprätthålla integritet i en databas. Triggers används också för att upprätthålla affärsregler, granska ändringar i databasen och replikera data. De vanligaste triggarna är DML-utlösare (Data Manipulation Language) som utlöses när data manipuleras. Vissa databassystem stöder icke-datautlösare, som utlöses när Data Definition Language (DDL)-händelser inträffar. Några exempel är triggers som utlöses när tabeller skapas, under commit eller rollback-operationer, etc. Dessa triggers kan speciellt användas för granskning. Oracles databassystem stöder triggers på schemanivå (d.v.s. utlösare som aktiveras när databasscheman modifieras) som efter skapande, före ändring, efter ändring, före släpp, efter släpp, etc. De fyra huvudtyperna av triggers som stöds av Oracle är utlösare på radnivå, Kolumnnivåutlösare, varje radtyp triggers och för varje påståendetyp triggers.

Vad är markörer?

En markör är en kontrollstruktur som används i databaser för att gå igenom databasposterna. Den är väldigt lik iteratorn som tillhandahålls av många programmeringsspråk. Förutom att gå igenom poster i en databas, underlättar markörer även datahämtning, lägga till och ta bort poster. Genom att definiera det korrekta sättet kan markörerna också användas för att gå bakåt. När en SQL-fråga returnerar en uppsättning rader, bearbetas dessa faktiskt med hjälp av markörer. En markör måste deklareras och tilldelas ett namn innan den kan användas. Sedan måste markören öppnas med kommandot OPEN. Denna operation skulle placera markören precis före den första raden i resultatuppsättningen med poster. Sedan måste markören utföra FETCH-operationen för att faktiskt få in en rad med data till applikationen. Slutligen måste markören stängas med CLOSE-operationen. Stängda markörer kan öppnas igen.

Vad är skillnaden mellan utlösare och markörer?

En trigger är en procedur (kodsegment) som exekveras automatiskt när vissa specifika händelser inträffar i en tabell/vy av en databas, medan en markör är en kontrollstruktur som används i databaser för att gå igenom databasposterna. En markör kan deklareras och användas inom en utlösare. I en sådan situation skulle deklarera uttalandet vara inne i utlösaren. Då skulle markörens omfattning begränsas till den utlösaren. Inom en utlösare, om en markör deklareras på en infogat eller en borttagen tabell, skulle en sådan markör inte vara tillgänglig från en kapslad utlösare. När en utlösare är klar kommer alla markörer som skapats inom utlösaren att avallokeras.

Rekommenderad: