The callInsertUpdate Procedimento seleccionar este procedimento toma como parâmetros de entrada,short enumberOfRows. O código é: #procedure para chamar o procedimento insertUpdate se não houver escassez delimitador //cria PROCEDIMENTO callInsertUpdate (IN curto INTEGER, IN NumberOfRows INTEIRO) BEGIN IF curto = 1 ENTÃO CHAME insertUpdate (NumberOfRows);! ACABAR SE; FIM; //Este procedimento basicamente verifica se o valor deshort não é 1; isto é, se é zero. Se for zero significa que não há falta; que é o procedimento armazenado checkshortage não detectou qualquer falta.
Neste caso, o procedimento armazenado, callInsertUpdate chama outro procedimento armazenado para inserir uma linha na tabela de Vendas e as três linhas na SaleDetails table.The insertUpdate Procedimento Uma venda significa que uma linha tem que ser inseridos na tabela de vendas e correspondentes linhas para os produtos inseridos na tabela de SaleDetails. O SaleID para a linha que vai para a tabela de vendas é dada automaticamente pelo SGBD. O EmployeeID e customerID tem que ser dado por você (ou algum código que você escreveu).
O valor DateAndTime (timestamp) da linha de vendas também é dada automaticamente pelo SGBD. Para a tabela de SaleDetails você tem que digitar a quantidade e SoldPrice. O procedimento armazenado insertUpdate irá determinar o SaleID e ProductID. O SaleID apenas inserido na tabela de vendas, é o número máximo (inteiro) na coluna SaleID, tudo é igual.
Este é o código para o procedimento insertUpdate; #procedure para inserir e atualizar os produtos SaleDetails delimitador //CREATE PROCEDURE insertUpdate (IN NumberOfRows INTEIRO) BEGIN # circuito contador DECLARE variável i INTEGER PADRÃO 1; #productID variável da tabela SaleDetailsTemp DECLARE PIDVar INTEGER; #sold preço variável para a tabela de SaleDetails DECLARE SoldPriceVar DECIMAL (19,2); #variable para a quantidade solicitada QtyRequestVar DECLARE INTEGER; #variable para