Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.08 KB | None | 0 0
  1. // MI PAQUETE PARA EL CANI.
  2.  
  3. CREATE OR REPLACE PACKAGE paqejer4
  4.  
  5. IS
  6.  
  7.     v_linea_tren NUMBER(5);
  8.     v_linea_estacion NUMBER(5);
  9.  
  10. END paqejer4;
  11. /
  12.  
  13. // MI TIGRE PARA EL CANI.
  14.  
  15. CREATE OR REPLACE TRIGGER ejer4_1
  16.  
  17. before INSERT OR DELETE ON tren
  18.  
  19. FOR each ROW
  20.  
  21. BEGIN
  22.  
  23.     SELECT COUNT(*) INTO paqejer4.v_linea_estacion FROM linea_estacion WHERE linea = :NEW.linea;
  24.     SELECT COUNT(*) INTO paqejer4.v_linea_tren FROM tren WHERE linea = :NEW.linea;
  25.        
  26. END;
  27. /
  28.  
  29.  
  30. // MI TIGRE PARA EL CULO DEL CANI.
  31.  
  32. CREATE OR REPLACE TRIGGER ejer4_2
  33.  
  34. before INSERT OR DELETE ON tren
  35.  
  36. FOR each ROW
  37.  
  38. BEGIN
  39.  
  40.         IF inserting THEN
  41.        
  42.             IF (paqejer4.v_linea_tren > (paqejer4.v_linea_estacion*2)) THEN
  43.        
  44.                 raise_application_error(-20500,'Imposible insertar el tren. La línea no soporta más trenes.');
  45.        
  46.             END IF;
  47.        
  48.         END IF;
  49.        
  50.         IF deleting THEN
  51.                    
  52.             IF (paqejer4.v_linea_tren < paqejer4.v_linea_estacion) THEN
  53.        
  54.                 raise_application_error(-20500,'Imposible Borrar el tren. No puede haber menos trenes que estaciones.');
  55.        
  56.             END IF;
  57.                
  58.         END IF;
  59.            
  60.    
  61. END;
  62. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement