Skillnaden mellan utlösare och lagrade procedurer

Skillnaden mellan utlösare och lagrade procedurer
Skillnaden mellan utlösare och lagrade procedurer

Video: Skillnaden mellan utlösare och lagrade procedurer

Video: Skillnaden mellan utlösare och lagrade procedurer
Video: Arbetsintervju exempel och tips 2024, Juli
Anonim

Triggers vs Stored Procedures

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 lagrad procedur är en metod som kan användas av applikationer som får åtkomst till en relationsdatabas. Vanligtvis används lagrade procedurer som en metod för att validera data och kontrollera åtkomst till en databas.

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 lagrade procedurer?

En lagrad procedur är en metod som kan användas av en applikation som får åtkomst till en relationsdatabas. Vanligtvis används lagrade procedurer som en metod för att validera data och kontrollera åtkomst till en databas. Om någon databearbetningsoperation kräver att flera SQL-satser exekveras, implementeras sådana operationer som lagrade procedurer. När du anropar en lagrad procedur måste en CALL- eller EXECUTE-sats användas. Lagrade procedurer kan returnera resultat (till exempel resultat från SELECT-satserna). Dessa resultat kan användas av andra lagrade procedurer eller av applikationer. Språk som används för att skriva lagrade procedurer stöder vanligtvis kontrollstrukturer som if, while, for, etc. Beroende på vilket databassystem som används kan flera språk användas för att implementera lagrade procedurer (t.ex. PL/SQL och java i Oracle, T- SQL (Transact-SQL) och. NET Framework i Microsoft SQL Server). Dessutom använder MySQL sina egna lagrade procedurer.

Vad är skillnaden mellan utlösare och lagrade procedurer?

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 lagrad procedur är en metod som kan användas av en applikation som får åtkomst till en relationsdatabas. Triggers exekveras automatiskt när händelsen som triggern ska svara på inträffar. Men för att exekvera en lagrad procedur måste en specifik CALL- eller EXECUTE-sats användas. Att felsöka utlösare kan vara svårare och knepigare än att felsöka lagrade procedurer. Triggers är mycket användbara när du vill försäkra dig om att något händer när en viss händelse inträffar.

Rekommenderad: