Oracle Database 12c
PL/SQL

PL/SQLは、SQL文をPL/SQL構文に内包できるように設計された手続き型言語です。PL/SQLプログラム・ユニットはOracle Databaseサーバーでコンパイルされ、データベースに格納されます。また実行時には、PL/SQLとSQLの両方が同じサーバー・プロセス内で実行され、最適な効率が得られます。Oracle Databaseの堅牢性、セキュリティ、および移植性がPL/SQLに自動的に継承されます。

PL/SQLを使用する理由

正しくて完全なデータのみが永続化されるのでなければ、Oracle Databaseを使用するアプリケーションに価値はありません。アプリケーションを価値あるものにする伝統的な方法は、実装の詳細、すなわち表と表を操作するSQL文を隠ぺいするインタフェースを介してのみデータベースを開示することです。このアプローチは一般的にシック・データベース・パラダイムと呼ばれます。その理由は、データベース内にあるPL/SQLサブプログラムが関連するビジネス・ロジックを実装するコードからSQL文を発行するためであり、またPL/SQLインタフェースを使用しなければデータを変更したり、表示したりできないためです。

シック・データベース・アプローチについて詳しくは、PL/SQLやエディションベースの再定義を担当する卓越したProduct ManagerであるBryn Llewellynが執筆したホワイト・ペーパーの"Why use PL/SQL?" whitepaperを参照してください。

PL/SQLを学ぶ

PL/SQL Challenge コミュニティに参加してさまざまなPL/SQLクイズに挑戦してみましょう。クイズを解くたびに知識が身に付きます。競技としてクイズに挑戦し、世界中の大勢の開発者と順位を競い合うこともできますが、レベルに応じたクイズを解くだけでも構いません。

最適化レベルを1より高くしてコンパイルしたPL/SQLプログラムの動作に関して疑問がある場合は、PL/SQLの強力なオプティマイザについて論じたホワイト・ペーパーであるFreedom, Order, and PL/SQL Optimization whitepaperを参照してください。

PL/SQLスタート・ガイド

Steven Feuerstein著
この連載は、PL/SQLは初めてという開発者にPL/SQLを短期間で習得してもらうために、Steven FeuersteinがOracle Magazineに連載した「PL/SQL 101」という記事を翻訳したものです。Oracle PL/SQLが誕生したのが1989年。その当時からPL/SQLを使い続けている筆者が、初心者向けにPL/SQLの基礎を書き下ろしたものです。また、 PL/SQLを知り尽くす経験者にとっても基本的なことを思い出す上できっと役に立つことでしょう。

PL/SQLプログラム・ユニットの構築と管理

ブロックによる構築  PL/SQLはブロック構造化言語であり、ブロックに精通していることは適切なコードの記述にとって重要です。

実行フローの制御  PL/SQLにおける条件分岐と反復処理。

コードを整然としたパッケージにまとめる パッケージは、高品質なあらゆるPL/SQLベースのアプリケーションの基本的な構築ブロックです。

Picking Your Packages (US)
PL/SQLパッケージの概念と利点。

エラー管理 PL/SQLにおけるエラー管理機能の詳細。

データ・ディクショナリ:ビューの有効活用 コードを分析して管理するためのいくつかの主要なデータ・ディクショナリを使用します。

PL/SQL のデータ型

文字列の操作
  PL/SQLが、アプリケーションで使用する各種文字列データ型を提供します。

PL/SQLでの数値の操作  PL/SQLでのさまざまな値型の詳細と使用方法を学習します。 
 
PL/SQLでの日付の操作  日付は、SQLおよびPL/SQLの両方で比較的複雑なスカラーデータ型となります。
 
レコードの操作
  広く使用され非常に役に立つコンポジット型で、表の行に類似したPL/SQLの機能。

コレクションの操作 PL/SQLの配列実装は、PL/SQLのほぼすべての重要なパフォーマンスで何らかの役割を果たします。

PL/SQLでのSQL

カーソルの操作  PL/SQLカーソルにより、データベース表の内容の操作が用になります。
 
BULK COLLECTとFORALLによるバルク処理 PL/SQLにおいてSQLの実行に関連するもっとも重要なパフォーマンス機能。

Steven FeuersteinによるPractically Perfect PL/SQL

Practically Perfect PL/SQL(P3)では、Steven FeuersteinによるPL/SQLのビデオを視聴できます。彼は、PL/SQLのOracle Developer Advocateであり、Oracle PL/SQL Programmingの著者でもあります。

Get Rid of Hard-Coding in PL/SQL (YouTubeビデオ:英語)

P3のこの最初のプレイリストではPL/SQLで出現する可能性のあるさまざまな形式のハードコーディングと、それらを取り除くための最善の方法を紹介します。