Abrufen der Daten aus der Tabelle mit PL / SQL

Oct 20 2020

Ich möchte alle Informationen zu jeder Abteilung aus der Tabelle DEPARTMENT abrufen und die Informationen auf dem Bildschirm anzeigen.

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

Ich habe einen Code, der wie folgt lautet:

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

Dies führt jedoch zu keiner Ausgabe. Bitte helfen Sie. Danke im Voraus!

Antworten

Littlefoot Oct 20 2020 at 19:04

Ja, ein einfacher Weg, dies zu tun, ist die Verwendung einer Schleife. Aber Sie durchlaufen nichts (holen nie etwas in diese Variablen) und verlassen niemals die Schleife. Außerdem, was genau begehen Sie?

So hätten Sie es vielleicht gemacht (basierend auf Scotts DEPTTisch, der Ihrem ähnlich ist):

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>