Triggers versus opgeslagen procedures
In een database is een trigger een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/view. Naast andere toepassingen worden triggers voornamelijk gebruikt voor het handhaven van de integriteit in een database. Een opgeslagen procedure is een methode die kan worden gebruikt door toepassingen die toegang hebben tot een relationele database. Gewoonlijk worden opgeslagen procedures gebruikt als een methode voor het valideren van gegevens en het controleren van de toegang tot een database.
Wat zijn triggers?
Een trigger is een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/weergave van een database. Naast andere toepassingen worden triggers voornamelijk gebruikt voor het handhaven van de integriteit in een database. Triggers worden ook gebruikt voor het afdwingen van bedrijfsregels, het controleren van wijzigingen in de database en het repliceren van gegevens. De meest voorkomende triggers zijn Data Manipulation Language (DML)-triggers die worden geactiveerd wanneer gegevens worden gemanipuleerd. Sommige databasesystemen ondersteunen niet-gegevenstriggers, die worden geactiveerd wanneer DDL-gebeurtenissen (Data Definition Language) plaatsvinden. Enkele voorbeelden zijn triggers die worden geactiveerd wanneer tabellen worden gemaakt, tijdens commit- of rollback-bewerkingen, enz. Deze triggers kunnen met name worden gebruikt voor auditing. Oracle-databasesysteem ondersteunt triggers op schemaniveau (d.w.z. triggers die worden geactiveerd wanneer databaseschema's worden gewijzigd) zoals After Creation, Before Alter, After Alter, Before Drop, After Drop, enz. De vier belangrijkste typen triggers die door Oracle worden ondersteund, zijn triggers op rijniveau, Triggers op kolomniveau, triggers voor elk rijtype en triggers voor elk instructietype.
Wat zijn opgeslagen procedures?
Een opgeslagen procedure is een methode die kan worden gebruikt door een toepassing die toegang heeft tot een relationele database. Gewoonlijk worden opgeslagen procedures gebruikt als een methode voor het valideren van gegevens en het controleren van de toegang tot een database. Als voor sommige gegevensverwerkingsbewerkingen meerdere SQL-instructies moeten worden uitgevoerd, worden dergelijke bewerkingen geïmplementeerd als opgeslagen procedures. Bij het aanroepen van een opgeslagen procedure moet een CALL- of EXECUTE-instructie worden gebruikt. Opgeslagen procedures kunnen resultaten retourneren (bijvoorbeeld resultaten van de SELECT-instructies). Deze resultaten kunnen worden gebruikt door andere opgeslagen procedures of door toepassingen. Talen die worden gebruikt om opgeslagen procedures te schrijven, ondersteunen doorgaans besturingsstructuren zoals if, while, for, enz. Afhankelijk van het gebruikte databasesysteem kunnen verschillende talen worden gebruikt om opgeslagen procedures te implementeren (bijv. PL/SQL en java in Oracle, T- SQL (Transact-SQL) en. NET Framework in Microsoft SQL Server). Bovendien gebruikt MySQL zijn eigen opgeslagen procedures.
Wat is het verschil tussen triggers en opgeslagen procedures?
Een trigger is een procedure (codesegment) die automatisch wordt uitgevoerd wanneer bepaalde specifieke gebeurtenissen plaatsvinden in een tabel/weergave van een database, terwijl een opgeslagen procedure een methode is die kan worden gebruikt door een toepassing die toegang heeft tot een relationele database. Triggers worden automatisch uitgevoerd wanneer de gebeurtenis plaatsvindt waarop de trigger zou moeten reageren. Maar om een opgeslagen procedure uit te voeren, moet een specifiek CALL- of EXECUTE-statement worden gebruikt. Het debuggen van triggers kan moeilijker en lastiger zijn dan het debuggen van opgeslagen procedures. Triggers zijn erg handig als je er zeker van wilt zijn dat er iets gebeurt wanneer een bepaalde gebeurtenis plaatsvindt.