PL / SQL kullanarak tablodan verilerin alınması

Oct 20 2020

Her departmanla ilgili tüm bilgileri DEPARTMENT tablosundan almak ve bilgileri ekranda görüntülemek istiyorum.

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

Aşağıdaki gibi bir kodum var:

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

Ancak bu herhangi bir çıktı üretmiyor, lütfen yardım edin. Şimdiden teşekkürler!

Yanıtlar

Littlefoot Oct 20 2020 at 19:04

Evet, bunu yapmanın basit bir yolu döngü kullanmaktır. Ancak, hiçbir şeyden geçmiyorsunuz (bu değişkenlere asla bir şey getirmeyin) ve döngüden asla çıkmayın. Ayrıca tam olarak ne yapıyorsun?

İşte bunu nasıl yapmış olabileceğiniz (Scott'ın DEPTsizinkine benzeyen tablosuna göre ):

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>