DB2 Triggers

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




Previous:
Next Page: