43 lines
859 B
SQL
43 lines
859 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`vn`@`localhost` PROCEDURE `vn`.`saleSplit`(
|
|
vSaleFk INT,
|
|
vQuantity INT
|
|
)
|
|
BEGIN
|
|
DECLARE vNewSaleFk INT;
|
|
|
|
INSERT INTO vn.sale(
|
|
itemFk,
|
|
concept,
|
|
price,
|
|
foreignPrice,
|
|
discount,
|
|
quantity,
|
|
ticketFk,
|
|
isPriceFixed
|
|
)SELECT s.itemFk,
|
|
i.longName,
|
|
s.price,
|
|
s.foreignPrice,
|
|
s.discount,
|
|
vQuantity,
|
|
s.ticketFk,
|
|
s.isPriceFixed
|
|
FROM vn.sale s
|
|
JOIN vn.item i ON i.id = s.itemFk
|
|
WHERE s.id = vSaleFk;
|
|
|
|
UPDATE vn.sale s
|
|
JOIN vn.item i ON i.id = s.itemFk
|
|
SET s.quantity = s.quantity - vQuantity, s.concept = i.longName
|
|
WHERE s.id = vSaleFk;
|
|
|
|
SELECT LAST_INSERT_ID() INTO vNewSaleFk;
|
|
|
|
INSERT INTO vn.saleComponent(saleFk, componentFk, value)
|
|
SELECT vNewSaleFk, componentFk, value
|
|
FROM vn.saleComponent
|
|
WHERE saleFk = vSaleFk;
|
|
END$$
|
|
DELIMITER ;
|