-1

ループ構造を持つ PL/SQL ファイルがあります。スクリプトは次のとおりです。

SET SERVEROUTPUT ON
 declare 
  c_id employee.id%type;
  c_name employee.name%type;
  c_address employee.address%type;
  CURSOR c_employee is 
     SELECT id, name, address from employee;
 begin 
  open c_employee;
  LOOP
    FETCH c_employee into c_id, c_name, c_address;
    EXIT when c_employee%notfound;
    dbms_output.put_line(c_id||' '||c_name||' '||c_address);
  END LOOP;
  close c_employee;
  end;
  /

これを SQLPlus から実行すると、最初の行の詳細のみが取得され、残りは取得されません。私は何を間違っていますか?ループのすべての出力を取得する方法。

4

2 に答える 2

-2

コードが正しいように見えても、1 行だけでなくすべての行を反復処理する必要があります。以下のスニペットを使用して SQL で実行し、まだ単一の行である場合は、他の問題が発生している可能性があります。

SET SERVEROUTPUT ON
DECLARE
BEGIN
  FOR I IN
  (SELECT id, name, address FROM employee
  )
  LOOP
    dbms_output.put_line(I.ID||' '||I.name||' '||I.address);
  END LOOP;
END;
/
于 2015-12-29T12:26:47.710 に答える