32 lines
961 B
MySQL
32 lines
961 B
MySQL
|
DELIMITER $$
|
||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`expeditionState_addByPallet`(vPalletFk INT, vStateCode VARCHAR(100))
|
||
|
BEGIN
|
||
|
/**
|
||
|
* Inserta nuevos registros en la tabla vn.expeditionState
|
||
|
*
|
||
|
* @param vPalletFk Identificador de vn.expedition
|
||
|
* @param vStateCode Corresponde a vn.expeditionStateType.code
|
||
|
*/
|
||
|
DECLARE hasExpeditions BOOL;
|
||
|
|
||
|
DROP TEMPORARY TABLE IF EXISTS tExpeditionScan;
|
||
|
CREATE TEMPORARY TABLE tExpeditionScan
|
||
|
SELECT expeditionFk, est.id typeFk
|
||
|
FROM vn.expeditionScan e
|
||
|
JOIN vn.expeditionStateType est ON est.code = vStateCode
|
||
|
WHERE e.palletFk = vPalletFk;
|
||
|
|
||
|
SELECT COUNT(*) INTO hasExpeditions FROM tExpeditionScan;
|
||
|
|
||
|
IF NOT hasExpeditions THEN
|
||
|
DROP TEMPORARY TABLE tExpeditionScan;
|
||
|
CALL util.throw('palletDoesNotExist');
|
||
|
END IF;
|
||
|
|
||
|
INSERT INTO vn.expeditionState(expeditionFk, typeFk)
|
||
|
SELECT expeditionFk, typeFk
|
||
|
FROM tExpeditionScan;
|
||
|
DROP TEMPORARY TABLE tExpeditionScan;
|
||
|
END$$
|
||
|
DELIMITER ;
|