La boucle while ici vérifie si l'un de ces valeurs dans la table de produit est inférieur à zéro (négatif). Si elle est, elle définit la valeur deshort à 1 (à travers, à court, a déclaré localement dans l'instruction composée). Si il ya une pénurie, la boucle WHILE informe l'utilisateur en utilisant la procédure callInsertUpdate statement.The SELECT Cette procédure prend comme paramètres d'entrée, etshortnumberOfRows.
Le code est: #procedure appeler la procédure insertUpdate si il ne manque pas Délimiteur //CREATE PROCEDURE callInsertUpdate (EN entier court, EN ENTIER numberOfRows) de commencer Si à court = 1 puis appelez insertUpdate (numberOfRows);! FIN SI; FIN; //Cette procédure vérifie essentiellement si la valeur deshort est pas une; qui est, si il est nul. Si elle est nulle, cela signifie qu'il n'y a pas de pénurie; qui est la procédure de checkshortage stockée n'a détecté aucune pénurie.
Dans ce cas, la procédure stockée, callInsertUpdate appelle une autre procédure stockée pour insérer une ligne dans la table de vente et les trois lignes dans la SaleDetails table de procédure insertUpdate Une vente signifie que une rangée doit être inséré dans la table Sales et les lignes correspondantes pour les produits insérés dans la table SaleDetails. Le SaleID pour la ligne qui va dans le tableau des ventes est donné automatiquement par le SGBD. Le EmployeeID et customerID doivent être donnés par vous (ou un peu de code que vous avez écrit).
La valeur DateAndTime (timestamp) de la ligne de vente est également accordée automatiquement par le SGBD. Pour la table SaleDetails vous devez taper dans la quantité et la SoldPrice. La procédure stockée insertUpdate déterminera la SaleID et ProductID. Le SaleID simplement inséré dans la table de vente, est le nombre maximum (entier) dans la colonne de SaleID, toutes choses étant égales. Ceci es