Mengambil data dari tabel menggunakan PL / SQL

Oct 20 2020

Saya ingin mendapatkan kembali semua informasi tentang setiap departemen dari tabel DEPARTMENT dan menampilkan informasi di layar.

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

Saya memiliki kode sebagai berikut-

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;
/

Tapi ini tidak menghasilkan output apa pun, tolong bantu. Terima kasih sebelumnya!

Jawaban

Littlefoot Oct 20 2020 at 19:04

Ya, cara sederhana untuk melakukannya adalah dengan menggunakan loop. Tapi, Anda tidak mengulang apa pun (tidak pernah mengambil apa pun ke variabel tersebut) dan tidak pernah keluar dari loop. Selain itu, apa sebenarnya yang Anda lakukan?

Inilah cara Anda melakukannya (berdasarkan DEPTtabel Scott yang mirip dengan Anda):

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>