Håndtering av Sybase Hendelser med Triggers og prosedyrer ved hjelp av SQL - Del 5 divisjon 5 Innledning Dette er en del 5 av min serie, Håndtering Sybase Hendelser med Triggers og lagrede prosedyrer for SQL. Denne serien er den femte divisjon i min større serie, Database. Du må ha lest alle de forskjellige delene av store serier (eller tilsvarende opplæring fra andre steder) opp til dette punktet. I denne delen av serien ser vi på et eksempel på en trigger i Sybase SQL Anywhere.
Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser. Eksempel Produkter bord for engros databasen er: Produkter (ProductID, Product, Kategori, Antall, kostpris, SellingPrice) La oss legge til en annen kolonne til det heter, ReorderLevel; å ha, Products (ProductID, Product, Kategori, Antall, ReorderLevel, kostpris, SellingPrice) Hver rad i Produkter tabellen har informasjon om et produkt i selskapet.
Verdien av hver ReorderLevel celle i en rad er det minste antallet av det produktet som skal være på lager. Som selskapet selger, er verdien i antall (mengde) kolonnen for hver rad redusere. Så snart verdien cellen antall kolonnen når eller går under verdien av ReorderLevel kolonne cellen i den samme rad i, er den situasjonen tolket som en hendelse. Det betyr at administrerende direktør (eller høyeste leder) må være informert, slik at han arrangerer for et nytt sett med det samme produktet som skal bestilles.
Nå kan du ha en annen tabell i databasen at den høyeste lederen ser på hverdagen på si 12:00. Når hendelsen inntreffer, vil hendelseshåndterer kode plassere en ny rad i denne tabellen, for å indikere tiden hendelsen inntraff, produkt bekymret, hendelsesmeldingen, vil ha bestillingsnivå og dagens nivå (antall produkter). Når den høyeste lederen ser slik ny informasjon rad i hans bord, er det opp til ham å ta en beslutning (tilrettelegge for etterbestilling).
For å skrive koden for dette eksempelet, skal vi ha for å slippe Produkter bordet og lage en ny en med ReorderLevel kolonnen, og deretter mate den med data. Vi skal også lage en ny tabell kalt Manager, som skal holde hendelses poster. En rekord (rad) her vil omfatte tabellen primærnøkkel, tidsstempel, produktnavn, hendelse tekstmelding, omorganisere nivå og nåværende produktnivå. - Start og koble til databasen. - Type og gjennomføre, DROP TABLE produkter; - Oppret