While-løkken bestemmer forskellen mellem den mængde af et produkt, anmodet om, og den tilsvarende mængde på lager (Produkter tabel). Denne forskel er placeret i den tilsvarende celle i den midlertidige table.The informUser Den informUser procedure som inputparametre,numberOfRows ogshort. Du kender allerede brugen afnumberOfRows. short blev nævnt ovenfor. Det kan have værdien nul eller 1. Når det har nul, betyder det, at vi på dette tidspunkt antager, at hver af mængden af de produkter kunden har anmodet om, er til rådighed.
Denne procedure vil kontrollere, om der er så for hver af de ansøgte mængder. Hvis det ikke er så for nogen ønskede mængde, så værdien afshort ændres til 1 (i denne procedure). Den sammensatte sætning af proceduren har to sektioner: sektion angivelsen og en while-løkke sektion. Koden for proceduren er: #procedure at informere brugeren om nogen mangel Afgrænser //CREATE PROCEDURE informUser (IN numberOfRows INTEGER, OUT korte heltal) BEGIN # loop tæller variabel DECLARE jeg Heltal DEFAULT 1; #variable til mængde, der ville forblive ERKLÆRER QtyRemainVar INTEGER; Mens jeg SELECT QtyRemain FROM SaleDetailsTemp WHERE ID = i INTO QtyRemainVar; HVIS QtyRemainVar SELECT ProductName, "er kort med" AS Incident, (QtyRemain * -1) AS QuantityRemaining FRA SaleDetailsTemp WHERE ID = i; SET kort = 1; ELSE SET korte = 0; SLUT HVIS; SET i = i + 1; Ende, mens; ENDE; //Den fratrækning af mængden af varen på lager fra den mængde anmodes der allerede er gjort (i den tidligere beskrevne procedure), og resultaterne er placeret i tilsvarende celler i midlertidige tabel.
While-løkken her tjekker, om nogen af disse værdier i produktet tabellen er mindre end nul (negativ). Hvis det er, det sætter værdien afshort til 1 (gennem, korte, lokalt erklærede i den sammensatte sætning). Hvis der er nogen mangel,