Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2017
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 1.34 KB | None | 0 0
  1. CREATE OR REPLACE PROCEDURE localidad_comerciales (nombre_localidad VARCHAR2) AS
  2. /*Declaramos nuestro cursor.*/
  3. CURSOR c1 IS
  4. SELECT c.codigo, c.nombre,  c.salario
  5. FROM comerciales c, oficinas o
  6. WHERE c.codoficina = o.codigo AND localidad = nombre_localidad
  7. ORDER BY c.codigo ASC;
  8.  
  9.  /*Declaramos nuestras variables.*/
  10. v_codigo VARCHAR2(3);
  11. v_nombre VARCHAR2(30);
  12. v_salario NUMBER(6,2);
  13. BEGIN
  14. /*Mostramos por pantalla el nombre de la localidad.*/
  15. DBMS_OUTPUT.PUT_LINE('+-----------------------------------------------+');
  16. DBMS_OUTPUT.PUT_LINE('+       Localidad: "'||nombre_localidad||'"       +');
  17. DBMS_OUTPUT.PUT_LINE('+-----------------------------------------------+');
  18. DBMS_OUTPUT.PUT_LINE('');
  19. OPEN c1;
  20. /*Lee la primera fila recuperada por el cursor y la almacena en la variable.*/
  21. FETCH c1
  22. INTO v_codigo, v_nombre, v_salario;
  23. /*Ejecutamos un bucle de control, mientras que el cursor devuelva variables
  24. lo mostrara por pantalla y el valor recuperado se
  25. leerĂ¡ de la siguiente fila del cursor. Mostraremos nuestras variables.*/
  26. WHILE c1%FOUND LOOP
  27. DBMS_OUTPUT.PUT_LINE('+ Codigo: '||v_codigo||' +');
  28. DBMS_OUTPUT.PUT_LINE('+ Nombre: '||v_nombre||' +');
  29. DBMS_OUTPUT.PUT_LINE('+ Salario: '||v_salario||' +');
  30. DBMS_OUTPUT.PUT_LINE('');
  31.  
  32. FETCH c1
  33. INTO v_codigo, v_nombre, v_salario;
  34.  
  35. END LOOP;
  36. CLOSE c1;
  37. END localidad_comerciales;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement