Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE DEFINER=`root`@`localhost` PROCEDURE `TracciaSpedizione`(IN CodicePacco int)
- BEGIN
- DECLARE targa_veicolo int;
- DECLARE note_spedizione varchar(100);
- DECLARE latitudine_veicolo float default -1;
- DECLARE longitudine_veicolo float default -1;
- IF NOT EXISTS (SELECT 1 FROM Pacco
- WHERE Pacco.Codice = CodicePacco) THEN
- signal sqlstate '45000'
- SET MESSAGE_TEXT = 'Il pacco indicato non รจ presente all interno del sistema!';
- END IF;
- SELECT CodiceVeicolo, noteSpedizione
- INTO targa_veicolo, note_spedizione
- FROM Movimenti m1
- WHERE RiferimentoSpedizione = (Select m2.RiferimentoSpedizione
- FROM Movimenti m2
- WHERE m2.CodicePacco = CodicePacco
- ORDER BY m2.RiferimentoSpedizione DESC
- LIMIT 1)
- ORDER BY m1.`Data` ASC;
- IF (targa_veicolo = NULL) THEN
- SELECT CodicePacco, note_spedizione;
- ELSE
- SELECT MezzoPiccolo.Latitudine, MezzoPiccolo.Longitudine
- INTO latitudine_veicolo, longitudine_veicolo
- FROM MezzoPiccolo
- WHERE MezzoPiccolo.Targa = targa_veicolo;
- IF (latitudine_veicolo = -1)
- THEN
- SELECT AutoArticolato.Latitudine, AutoArticolato.Longitudine
- INTO latitudine_veicolo, longitudine_veicolo
- FROM AutoArticolato
- WHERE AutoArticolato.Targa = targa_veicolo;
- END IF;
- SELECT CodicePacco, note_spedizione, latitudine_veicolo, longitudine_veicolo;
- END IF;
- END ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement