Dette kapitlet beskriver triggere, deres typer, opprettelse og slippe av de utløser.
Innledning
En trigger er et sett av handlinger som er utført for å svare på et innlegg, UPDATE eller DELETE operasjon på en bestemt tabell i databasen. Utløsere er lagret i databasen på en gang. De håndterer styring av data. De kan nås og deles mellom flere applikasjoner. Fordelen med å bruke triggere er, om noen endring må gjøres i søknaden, det er gjort på avtrekkeren; stedet for å endre hvert program som har tilgang på avtrekkeren. Utløser er lett å vedlikeholde, og de håndheve raskere applikasjonsutvikling. Triggere er definert ved hjelp av en SQL-setning "CREATE TRIGGER"
Typer av triggere
Det er tre typer utløsere:.
1. FØR utløser
De blir henrettet før noen SQL drift.
2. ETTER utløser
De blir henrettet etter noen SQL drift
Opprette et FØR trigger
La oss se hvordan å lage en sekvens av trigger.
< b> Syntaks:
db2 skape sekvensen < seq_name >
Eksempel
: Lage en sekvens av triggere for tabellen shopper.sales1
db2 skape sekvens sales1_seq som int starte med en økning av en
Syntaks:
db2 opprette trigger < trigger_name > ingen kaskade før innsats på < table_name > refererer nytt som < table_object > for hver rad satt < table_object >. < col_name > = nextval for < sequence_name >
Eksempel
: Lage trigger for shopper.sales1 bordet for å sette primærnøkkeltallene
db2 opprette trigger sales1_trigger ingen kaskade før innsats på shopper.sales1 å registrere nye som obj for hver rad satt obj.id = nextval for sales1_seq
nå kan du prøve å sette inn noen verdier:
db2 sette inn shopper.sales1 (varenavn, stk, pris) verdier ( 'Bicks', 100, 24.00)
Hente verdier fra tabellen
< p> La oss se hvordan å hente verdier fra en tabell:
Syntaks:
db2 select * fra < tabellnavn >
Eksempel
:
db2 select * from shopper.sales1
Output
:
ID ITEMNAME ANT ------- ------------ ----- ----- 3 Bicks 100 2 brød 100 2 posten (e) som er valgt.
Opprette en AFTER trigger
La oss se hvordan å lage en etter trigger:
Syntaks:
db2 skape trigger < trigger_name > ingen kaskade før innsats på < table_name > refererer nytt som < table_object > for hver rad satt < table_object >. < col_name > = nextval for < sequence_name >
Eksempel: product: [Å sette inn og hente verdier]
db2 opprette trigger sales1_tri_after etter sette på shopper.sales1 for hver rad modus db2sql begynne atom oppdatering shopper.sales1 satt pris = qty * Pris; end
Output:
//inseting verdier i shopper.sales1 db2 sette inn shopper.sales1 (varenavn, stk, pris) verdier ( 'chiken', 100,124.00) //utgang ID ITEMNAME ANT PRIS ----- -------------- ----------- ----------- 3 Bicks 100 2400.00 4 chiken 100 12400,00 2 brød 100 2400.00 tre posten (e) som er valgt.
Slippe en trigger
Her er hvordan en utløsere er droppet:
Syntaks:
db2 drop trigger < trigger_name >
Eksempel:
db2 drop trigger slaes1_trigger