掲題の件、現在のところ下記1択。
ソフトバンククリエイティブ
売り上げランキング: 107931
入門とはいえ侮るなかれ
Oracle 9i、10g、そして11gにも完全準拠(私が見る限り現時点で他に見当たらない)。
パフォーマンス・チューニングにも言及し一冊でコーディング~運用までカバーできる。
しかし、この本を含め、何冊かあるPL/SQLの書籍が、「動的SQL」など実際にはほとんど使用しないものに多くページを割いているのに、明示カーソルの条件を実行時に変更する方法に関する説明がない、あるいは読み飛ばすほど少ない。
その方法は下記。
例6-17 明示カーソルへのパラメータの引渡し
[sql highlight=”6,12″]
DECLARE
emp_job employees.job_id%TYPE := ‘ST_CLERK’;
emp_salary employees.salary%TYPE := 3000;
my_record employees%ROWTYPE;
CURSOR c1 (job VARCHAR2, max_wage NUMBER) IS
SELECT * FROM employees
WHERE job_id = job
AND salary > max_wage;
BEGIN
OPEN c1(emp_job, emp_salary);
LOOP
FETCH c1 INTO my_record;
EXIT WHEN c1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE
(‘Name = ‘ || my_record.last_name || ‘, salary = ‘ ||
my_record.salary || ‘, Job Id = ‘ || my_record.job_id );
END LOOP;
END;
/
[/sql]
紹介した書籍で足りない内容は、OracleOTNのオンライン・マニュアルなど、Oracle提供の資料を参照したほうがよいと思う。
以上。