Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 1.37 KB | None | 0 0
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `TracciaSpedizione`(IN CodicePacco int)
  2. BEGIN
  3.    
  4.     DECLARE targa_veicolo int;
  5.     DECLARE note_spedizione varchar(100);
  6.     DECLARE latitudine_veicolo float default -1;
  7.     DECLARE longitudine_veicolo float default -1;
  8.    
  9.     IF NOT EXISTS (SELECT 1 FROM Pacco
  10.     WHERE Pacco.Codice = CodicePacco) THEN
  11.         signal sqlstate '45000'
  12.         SET MESSAGE_TEXT = 'Il pacco indicato non รจ presente all interno del sistema!';
  13.     END IF;
  14.  
  15.     SELECT CodiceVeicolo, noteSpedizione
  16.     INTO targa_veicolo, note_spedizione
  17.     FROM Movimenti m1
  18.     WHERE RiferimentoSpedizione = (Select m2.RiferimentoSpedizione
  19.                                 FROM Movimenti m2
  20.                                 WHERE m2.CodicePacco = CodicePacco
  21.                                 ORDER BY m2.RiferimentoSpedizione DESC
  22.                                 LIMIT 1)
  23.                                 ORDER BY m1.`Data` ASC;
  24.                            
  25.     IF (targa_veicolo = NULL) THEN
  26.         SELECT CodicePacco, note_spedizione;
  27.     ELSE
  28.    
  29.         SELECT MezzoPiccolo.Latitudine, MezzoPiccolo.Longitudine
  30.         INTO latitudine_veicolo, longitudine_veicolo
  31.         FROM MezzoPiccolo
  32.         WHERE MezzoPiccolo.Targa = targa_veicolo;
  33.    
  34.         IF (latitudine_veicolo = -1)
  35.         THEN
  36.             SELECT AutoArticolato.Latitudine, AutoArticolato.Longitudine
  37.             INTO latitudine_veicolo, longitudine_veicolo
  38.             FROM AutoArticolato
  39.             WHERE AutoArticolato.Targa = targa_veicolo;
  40.         END IF;
  41.    
  42.     SELECT CodicePacco, note_spedizione, latitudine_veicolo, longitudine_veicolo;
  43.        
  44.     END IF;
  45. END ;;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement