PR:この記事にはアフィリエイトリンクが含まれます。
Oracle PL/SQLの本を探すと、文法を学ぶ入門書と、開発中に何度も引くリファレンスが並んで迷いますよね。ストアドプロシージャやパッケージを実務で扱う人には、基礎から手を動かして学べる本と、現場のOracleバージョンに合った資料の組み合わせがおすすめです。
PL/SQLの本には、順に学ぶ入門書と構文を引くリファレンスがあります。設計や性能まで詳しく読む大部な本もあります。この三冊は対象バージョンと扱う範囲が異なるので、使う環境と照らし合わせてください。
刊行から年数のたった本も含みますが、基本構文や過去のシステムを調べる場面で参考になります。実務でコードを書くときは、現場のOracleのバージョンも確かめましょう。
| 本 | 向いている人 | 主な内容 | 参考価格の目安 |
|---|---|---|---|
基礎からわかる PL/SQL | 初学者、12c環境で学びたい人 | カーソル、例外処理、プロシージャ、パッケージ、練習問題 | 2,860円(税込) |
PL/SQLポケットリファレンス[Oracle Database 11g/10g対応] | 10g・11gの開発者、構文を調べたい人 | データ型、関数、明示カーソル、例外処理、Oracle提供パッケージ | 2,948円(税込) |
Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c, 6th Edition | 英語で深く学びたい中・上級者 | パッケージ設計、一括処理、性能改善 | 販売価格は販売店で確認 |
実務の前提
PL/SQLは、Oracle DatabaseでSQLに手続きの処理を組み合わせる言語です。SQLがデータの検索や更新を指示するのに対し、PL/SQLでは条件分岐や繰り返し、エラー時の動きまでまとめて書けます。
データベースに保存して、名前を指定して呼び出せるストアドプログラムも実務でよく使われます。画面やバッチから共通の処理を呼び出せるので、業務ルールを一か所で管理しやすくなります。
文法と合わせて、処理の入口や実行するSQLを押さえましょう。注文登録なら、入力確認から在庫更新、エラー処理までの流れも見えてきます。
プロシージャ
ストアドプロシージャは、データベースに置いて名前で呼び出す処理です。入力値を受け取り、更新や複数のSQLを実行し、必要に応じて結果を返します。いくつかの作業をまとめたいときに役立ちます。
たとえば、注文番号を受け取って明細を登録し、在庫を減らす処理を一つのプロシージャにできます。画面ごとに同じ更新手順を書く手間が減り、呼び出し元が違っても処理をそろえやすくなります。
あれもこれも詰め込むと、修正の影響を追いにくくなります。サンプルでは引数や更新する表を確かめ、例外時の動きも見てください。入出力と副作用が分かるかどうかで、実務コードの読みやすさが変わります。
パッケージ
パッケージは、関連するプロシージャやファンクションをひとまとめにする仕組みです。外から呼び出す宣言を仕様部に、処理の中身を本体に置くのが基本。呼び出し側に見せる入口を整理できます。
注文の登録から取消、状態照会まで同じパッケージにまとめれば、注文に関する処理の置き場所が分かりやすくなります。内部だけで使う補助処理を本体に置き、公開する処理を仕様部に絞る考え方も押さえておきたいところです。
パッケージを大きくしすぎると、変更のたびに確認する範囲が広がります。業務上のまとまりを意識し、別々に変わる処理まで詰め込まないことが保守のしやすさにつながります。仕様部と本体を見比べると、役割の違いもつかみやすいですよ。
基礎からわかる
『基礎からわかる PL/SQL』は、Oracle Database 12c対応で、基礎からストアドプログラムまで学びたい初学者におすすめです。2015年刊で223ページ、A5判のソフトカバーです。
SELECT INTO文やカーソル、コレクションや例外処理を扱い、プロシージャやファンクション、パッケージやトリガーにも進みます。動的SQLと効率のよいSQLも扱うので、基本構文から実務で出会う処理まで視野を広げられます。
各章末の練習問題で、カーソルや例外処理の理解を手を動かして確かめられます。文法を学んでも自分では書けない人に、最初の一冊としておすすめです。
希望小売価格の目安は2,860円(税込)です。実売価格は時期や店舗で変わるため、購入時に表示を確認してください。12cが対象のため、別バージョンの環境で使う機能や挙動は現場の資料とも照合しましょう。
ポケットリファ
『PL/SQLポケットリファレンス[Oracle Database 11g/10g対応]』は、ひと通りコードを書ける人が、作業中に構文や関数を確認するのにおすすめです。2011年刊で432ページ、四六判。Oracle 10g・11gの開発者向けです。
データ型や制御構造のほかに、コマンドや関数も掲載しています。明示カーソルや例外処理、サブプログラム、Oracle提供パッケージも扱います。各項目の説明にはコード例があり、手元の処理と照らしやすい構成です。
必要な項目を引くリファレンスとして使いやすい本です。初学者が通読する入門書とは役割が異なります。10g・11gの既存システムを保守しながら構文を確認したい人に役立ちます。
希望小売価格の目安は2,948円(税込)で、実売価格は時期と店舗によって変わります。対象は10g・11gです。異なるバージョンの環境では、掲載コードをそのまま使う前に対象環境で確かめてください。
英語の大著
『Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c, 6th Edition』は、英語で技術書を読める中・上級者におすすめです。2014年刊の第6版で、1,200ページあります。初学者にはかなり読み応えのある分量です。
パッケージの仕様部と本体、パッケージ内のカーソルの設計や利用方法を扱います。BULK COLLECTやFORALLによる一括処理も解説します。性能測定やキャッシュ、パイプライン関数も取り上げ、性能改善を詳しく調べたい人に役立ちます。
基礎を学んだ後に、処理の組み立て方や性能改善を詳しく調べる人におすすめです。1,200ページあるため、必要なテーマから読むとよいでしょう。英語の技術資料を扱うチームにも参照資料として活用できます。
価格は販売店の表示を確認してください。対象はOracle Database 12cまでです。現行環境の機能や制約を確かめる際は、公式の製品資料も併用しましょう。

Oracle PL/SQL Programming: Covers Versions Through Oracle Database 12c, 6th Edition
O’Reilly Media
Amazonで見る例外処理
例外処理は、データが見つからない場合や重複登録が起きた場合など、異常時の動きを定めます。実務ではエラーを隠さず、呼び出し元が原因を追える形で扱うのが大切です。
注文登録の途中で在庫不足になったら、どこまで処理が進み、変更を取り消すのか。こうした場面を思い浮かべながら読むと、例外処理の役割が具体的になります。エラー検出と合わせて、更新途中のデータをどう扱うかも確かめましょう。
まずは基本的な書き方と、エラー情報を上位へどう伝えるかを理解すれば十分です。例外名を丸暗記するより、異常時に処理がどう終わるかを追うことが実際の調査で役立ちます。
結論
初めてPL/SQLを学び、ストアドプロシージャやパッケージまで書いてみたい人には、『基礎からわかる PL/SQL』がおすすめです。章末問題に取り組みながら、基礎から実務の入口まで段階的に学べます。
10g・11gのコードを保守し、作業中に構文を確認したい人にはポケットリファレンスが合います。英語に抵抗がなく、パッケージ設計や性能改善まで詳しく調べたい中・上級者には、O’Reillyの大著をおすすめします。
迷ったときは、まず基礎書でプロシージャとパッケージを一つずつ作り、必要な知識はリファレンスで補いましょう。価格は希望小売価格や販売時期で変わるため、購入時に表示を確かめ、現場のOracleバージョンに合う本を選んでください。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。

![PL/SQLポケットリファレンス[Oracle Database 11g/10g対応]](https://m.media-amazon.com/images/I/51JKxo5JkvL._SL500_.jpg)

