2017-05-11 7 views
-2

私はeid、ename、salaryのような3列のテーブルを持っています。だから私は、すべての従業員の名前を彼らの給料と一緒にカーソルとレコードを使って表示したかったのです。私のコードに間違いがある場合は、私に知らせてください。道のPL/SQLでこれをコード化して出力することができませんでした

DECLARE CURSOR emp_c IS select ename,salary from emp2; 

TYPE rec_2 IS RECORD 
{ 
    v_name varchar2(50); 
    v_sal number(10); 
}; 

r1 rec_2; 

BEGIN 
    open emp_c; 
    loop 
     fetch emp_c into r1; 
     exit when emp_c%notfound; 
     dbms_output.put_line('name='||r1.v_name||'salary='||r1.v_sal); 
    end loop; 
END; 
+0

構文レコード型を宣言するための[こちら]である(http://docs.oracle.com/database/121/LNPLS/composites.htm# LNPLS99971)。カーソルループは、[ここ](http://docs.oracle.com/database/121/LNPLS/cursor_for_loop_statement.htm)で定義されています。 –

答えて

0

一つである:

declare 

cursor c_emp is 
select 
    emp.ename, 
    emp.salary 
from 
    emp2 emp; 

begin 

for l_emp_rec in c_emp 
loop 
dbms_output.put_line('name='||l_emp_rec.ename||'salary='||l_emp_rec.salary); 
end loop; 

end; 
+0

ありがとうychdziu –

関連する問題