Recuperar los datos de la tabla usando PL / SQL

Oct 20 2020

Quiero recuperar toda la información sobre cada departamento de la tabla DEPARTAMENTO y mostrar la información en la pantalla.

Column name      Data type     Constraints

DEPARTMENT_ID    NUMBER(5)     PK

DEPARTMENT_NAME  VARCHAR2(25)  NOT NULL

LOCATION_ID      VARCHAR2(15)

Sample Output:

Department Details are :
1000, ADMIN, HQ-101

1010, DEVELOPMENT, CBE-103

1020, TESTING, CHN-102

Tengo un código que es el siguiente:

set serveroutput on;
declare
v_dno department.department_id%type;
v_dname department.department_name%type;
v_loc department.location_id%type;
begin
dbms_output.put_line('Department Details are :');
loop
dbms_output.put_line(v_dno || ', ' || v_dname || ', ' || v_loc);
end loop;
commit;
end;
/

Pero esto no produce ningún resultado, por favor ayude. ¡Gracias por adelantado!

Respuestas

Littlefoot Oct 20 2020 at 19:04

Sí, una forma sencilla de hacerlo es utilizar un bucle. Pero, no está pasando por nada (nunca busque nada en esas variables) y nunca salga del bucle. Además, ¿qué estás cometiendo exactamente?

Así es como podría haberlo hecho (según la DEPTtabla de Scott que es similar a la suya):

SQL> set serveroutput on
SQL> begin
  2    for cur_r in (select deptno, dname, loc from dept) loop
  3      dbms_output.put_line(cur_r.deptno ||' '|| cur_r.dname ||' '|| cur_r.loc);
  4    end loop;
  5  end;
  6  /
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

PL/SQL procedure successfully completed.

SQL>