Advertisement
Guest User

Untitled

a guest
May 28th, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.00 KB | None | 0 0
  1. /*funcion de existe*/
  2. CREATE OR REPLACE FUNCTION exiteEquipo (x equipo.nombre%TYPE)
  3. RETURN NUMBER
  4. IS
  5.     cuantos NUMBER;
  6. BEGIN
  7.     SELECT COUNT(*) INTO cuantos FROM equipo WHERE nombre=x;
  8. RETURN cuantos;
  9. END;
  10. /  
  11.  
  12. /*procedimiento para borrar datos de partido*/
  13. CREATE OR REPLACE FUNCTION borrarpartido (x equipo.nombre%TYPE)
  14. RETURN NUMBER
  15. IS
  16. cuantos NUMBER;
  17. cuantos1 NUMBER;
  18. resultado NUMBER;
  19.     BEGIN
  20.         SELECT COUNT(*) INTO cuantos FROM partido WHERE equipo_local=x;
  21.         SELECT COUNT(*) INTO cuantos1 FROM partido WHERE equipo_visitante=x;
  22.         resultado:=cuantos+cuantos1;   
  23.         IF (cuantos>0) THEN
  24.             DELETE partido  WHERE equipo_local=x;
  25.         END IF;
  26.         IF (cuantos1>0) THEN
  27.             DELETE partido  WHERE equipo_visitante=x;
  28.         END IF;
  29. RETURN resultado;
  30. END;
  31. /  
  32.  
  33. /*borrar jugadores del equipo*/
  34. CREATE OR REPLACE FUNCTION borrarjugador (x equipo.nombre%TYPE)
  35. RETURN NUMBER
  36. IS
  37.     cuantos NUMBER;
  38. BEGIN
  39.     SELECT COUNT(*) INTO cuantos FROM jugador WHERE nombre_equipo=x;
  40.     IF (cuantos>0) THEN
  41.         DELETE jugador WHERE nombre_equipo=x;
  42.     END IF;
  43.  RETURN cuantos;
  44. END;
  45. /
  46.  
  47.  
  48.  
  49. /*programa principal*/ 
  50.  
  51. CREATE OR REPLACE PROCEDURE borraequi (x equipo.nombre%TYPE)
  52. IS
  53. CURSOR nombreju IS SELECT *  FROM jugador WHERE nombre_equipo=x;
  54. regju nombreju%ROWTYPE;
  55. cuantos NUMBER;
  56. juga NUMBER;
  57. contador NUMBER;
  58. resul NUMBER;
  59. BEGIN
  60.     SELECT COUNT(*) INTO contador FROM estadisticas NATURAL join jugador WHERE jugador.nombre_equipo=x;
  61.     cuantos:=exiteEquipo(x);
  62.     IF (cuantos>0) THEN
  63.         resul:=borrarpartido(x);
  64.         DBMS_OUTPUT.put_line('se va a eliminar la información del equipo:' || x); 
  65.     FOR regju IN nombreju LOOP
  66.             DBMS_OUTPUT.PUT_LINE('Se a borrado el judor:'||regju.nombre);
  67.     END LOOP;
  68.     juga:=borrarjugador(x);
  69.     DBMS_OUTPUT.put_line('se han borrado '|| juga || 'jugadores');
  70.     DBMS_OUTPUT.put_line('se han borrado '|| contador || ' estadisticas');
  71.     DBMS_OUTPUT.put_line('se han borrado '|| resul || ' partidos');
  72.     DELETE equipo WHERE nombre=x;
  73.     ELSE
  74.         DBMS_OUTPUT.put_line('no existe el equipo');
  75.     END IF;
  76. END;
  77. /
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement