PL/SQL学習日記 サンプルコードの謎を解け!回答編

謎は、すべて解けた。犯人もそのトリックもわかったぜ。

非常に本当に簡単なことだった。

昨日は、気が付かなかったけど、朝もう一度確認したら、一目瞭然でしたね。

でも、これでまた学習を前に進めることが出来る。

 

これを機にPL/SQLのデバック方法も学ばないとだな。自分なりの方法を確立しておきたいというのが正直な感想。

 

模範解答は、以下の通り。違いは、見ていただければわかると思います。

--

DECLARE
v_emp emp%ROWTYPE;
CURSOR c1 IS
SELECT
*
FROM
emp
WHERE
deptno = 10;

BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_emp;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('DEPTNO : '|| v_emp.deptno
|| ' EMPNO : '|| v_emp.empno
|| ' ENAME : '|| v_emp.ename
|| ' JOB : '|| v_emp.job);
END LOOP;
CLOSE c1;
END;

--

出力結果

DEPTNO : 10 EMPNO : 7782 ENAME : 高橋 JOB : 部長
DEPTNO : 10 EMPNO : 7839 ENAME : 林 JOB : 社長
DEPTNO : 10 EMPNO : 7934 ENAME : 田村 JOB : エンジニア

--

さあ、また今日からPL/SQLの学習を再開だ。