ヘッダーをスキップ

Oracle Database PL/SQLユーザーズ・ガイドおよびリファレンス
10g リリース2(10.2)

B19257-01
目次
目次
索引
索引

戻る 次へ

はじめに

このマニュアルでは、PL/SQL言語の概念を説明し、PL/SQL言語の様々な機能を使用する方法を、例を示して説明します。

ここでは、次の項目について説明します。

対象読者

オラクル社のPL/SQLは、SQLを手続き型言語として機能拡張した、上級の第4世代プログラミング言語です。PL/SQLは、データのカプセル化、オーバーロード、コレクション型、例外処理、情報隠ぺいなどのソフトウェア・エンジニアリング機能を提供します。またPL/SQLは、SQLおよびOracleデータベースと緊密に統合され、短期間でのプロトタイプ作成およびプログラム開発をサポートします。

このマニュアルは、OracleのPL/SQLベースのアプリケーション開発者を対象としています。また、プログラマ、システム・アナリスト、プロジェクト・マネージャ、データベース管理者およびデータベース操作を自動化する必要があるユーザーも対象にしています。他の言語でアプリケーションを開発する開発者も、一部をPL/SQLで記述した混合言語アプリケーションを開発できます。

このマニュアルを効果的に使用するには、Oracleデータベース、SQL言語、およびIF-THEN比較、ループ、プロシージャ、ファンクションなどの基本的なプログラム構造体の実用的な知識が必要です。

ドキュメントのアクセシビリティについて

オラクル社は、障害のあるお客様にもオラクル社の製品、サービスおよびサポート・ドキュメントを簡単にご利用いただけることを目標としています。オラクル社のドキュメントには、ユーザーが障害支援技術を使用して情報を利用できる機能が組み込まれています。HTML形式のドキュメントで用意されており、障害のあるお客様が簡単にアクセスできるようにマークアップされています。標準規格は改善されつつあります。オラクル社はドキュメントをすべてのお客様がご利用できるように、市場をリードする他の技術ベンダーと積極的に連携して技術的な問題に対応しています。オラクル社のアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/accessibility/を参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

JAWS(Windowsのスクリーン・リーダー)は、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧だけを行に記述する必要があります。しかしJAWSは括弧だけの行を読まない場合があります。

外部Webサイトのドキュメントのアクセシビリティについて

このドキュメントにはオラクル社およびその関連会社が所有または管理しないWebサイトへのリンクが含まれている場合があります。オラクル社およびその関連会社は、それらのWebサイトのアクセシビリティに関しての評価や言及は行っておりません。

このマニュアルの構成

このマニュアルの構成は、次のとおりです。

第1章「PL/SQLの概要」

この章では、PL/SQLの主な機能およびメリットについて説明します。PL/SQLの基本概念を説明し、代表的なPL/SQLプログラムの形式を示します。

第2章「PL/SQL言語の基礎」

この章では、PL/SQLの詳細(字句単位、スカラー・データ型、ユーザー定義のサブタイプ、データ変換、式、代入、ブロック構造、宣言および有効範囲)について説明します。

第3章「PL/SQLのデータ型」

この章では、整数、浮動小数点、文字、ブール、日付、コレクション、参照、LOBなど、PL/SQLの事前定義のデータ型について説明します。また、ユーザー定義のサブタイプおよびデータ変換についても説明します。

第4章「PL/SQLの制御構造の使用」

この章では、PL/SQLプログラムの実行フローを制御する方法を示します。IF-THEN-ELSECASEWHILE-LOOPなどの制御構造を使用した条件制御、反復制御および順次制御について説明します。

第5章「PL/SQLのコレクションおよびレコードの使用」

この章では、コンポジット・データ型であるTABLEVARRAYおよびRECORDについて説明します。データのコレクション全体および様々な型のグループ・データを参照および操作する方法を説明します。

第6章「PL/SQLでのSQL操作の実行」

この章では、Oracleデータを操作するSQLコマンド、ファンクションおよび演算子がPL/SQLでどのようにサポートされているのかを示します。また、問合せおよびトランザクションを処理する方法も示します。

第7章「システム固有の動的SQLを使用したSQL操作の実行」

この章では、実行時にSQL文およびSQL問合せを構築する方法を示します。

第8章「PL/SQLのサブプログラムの使用」

この章では、プロシージャまたはファンクションを記述およびコールする方法を示します。パラメータ、オーバーロード、サブプログラムの様々な権限モデルなどの関連トピックについて説明します。

第9章「PL/SQLパッケージの使用」

この章では、関連するPL/SQLの型、項目およびサブプログラムを1つのパッケージにまとめる方法を示します。パッケージでは、多くのアプリケーションで再利用できるApplication Program Interface(API)が定義されます。

第10章「PL/SQLエラーの処理」

この章では、例外およびハンドラを使用してPL/SQLエラーを検出および処理する方法を示します。

第11章「PL/SQLアプリケーションのパフォーマンスのチューニング」

この章では、PL/SQLベースのアプリケーションのパフォーマンスを向上させる方法を示します。

第12章「PL/SQLのオブジェクト型の使用」

この章では、PL/SQLを使用してオブジェクトを操作する方法を示します。

第13章「PL/SQLの言語要素」

この章では、文の構文、パラメータおよび他のPL/SQL言語要素を示します。また、使用上の注意および例へのリンクも示します。

付録A「PL/SQLのソース・コードの不明瞭化」

この付録では、スタンドアロンのwrapユーティリティおよびDBMS_DDLパッケージのサブプログラムを使用して、PL/SQLのソース・コードを不明瞭化し、ソース・コードを隠したままPL/SQLアプリケーションを配布できるようにする方法を示します。

付録B「PL/SQLでの識別子名の解決」

この付録では、潜在的に意味の曖昧なプロシージャ文およびSQL文で、名前への参照をPL/SQLがどのように解決するかについて説明します。

付録C「PL/SQLのプログラム上の制限」

この付録では、PL/SQLによって課されるコンパイル時および実行時の制限について説明します。

付録D「PL/SQLの予約語およびキーワード」

この付録では、PL/SQLで使用するために予約されている予約語のリストを示します。

PL/SQLのサンプル・プログラム

PL/SQLのサンプル・プログラムは、Oracle Database Companion CDからインストールできます。デモは、ORACLE_HOME/plsql/demoなどのPL/SQLのデモ・ディレクトリにあります。デモ・ディレクトリの場所については、使用しているシステム用のOracleのインストレーション・ガイドを参照してください。一般に、これらのサンプルは、表EMPおよび表DEPTを含むSCOTTスキーマに基づく古いプログラムです。

このマニュアルに掲載されたほとんどの例は、表EMPLOYEESおよび表DEPARTMENTSを含むHRサンプル・スキーマで実行できる、完全なプログラムとして構成されています。

Oracle Technology NetworkのWebサイトのPL/SQLセクション(http://www.oracle.com/technology/tech/pl_sql/)では、多くのサンプル・プログラムをダウンロードできます。これらのプログラムでは、多くの言語機能、特に最新の言語機能のデモを行います。一部のプログラムを使用して、データベースの複数のリリース間でPL/SQLのパフォーマンスを比較することもできます。

他の言語からPL/SQLをコールする例については、『Oracle Database Java開発者ガイド』および『Pro*C/C++プログラマーズ・ガイド』を参照してください。

関連ドキュメント

詳細は、次のOracleドキュメントを参照してください。

このマニュアルに示す多くの例で、Oracle Databaseのインストールで基本インストール・オプションを選択した場合にデフォルトでインストールされるサンプル・スキーマを使用します。これらのスキーマの作成方法および使用方法については、『Oracle Databaseサンプル・スキーマ』を参照してください。

リリース・ノート、インストール関連ドキュメント、ホワイト・ペーパーまたはその他の関連ドキュメントは、OTN-J(Oracle Technology Network Japan)から、無償でダウンロードできます。OTN-Jを使用するには、オンラインでの登録が必要です。登録は、次のWebサイトから無償で行えます。

http://otn.oracle.co.jp/membership/

すでにOTN-Jのユーザー名およびパスワードを取得している場合は、次のURLでOTN-J Webサイトのドキュメントのセクションに直接接続できます。

http://otn.oracle.co.jp/document/

他のマニュアルの詳細は、次のURLを参照してください。

http://www.oracle.com/technology/books/10g_books.html

表記規則

この項では、このマニュアルの本文およびコード例で使用される表記規則について説明します。この項の内容は次のとおりです。

本文の表記規則

本文では、特定の項目が一目でわかるように、次の表記規則を使用します。次の表に、その規則と使用例を示します。

規則  意味   

太字 

太字は、本文中で定義されている用語および用語集に記載されている用語を示します。 

この句を指定すると、索引構成表が作成されます。 

固定幅フォントの大文字 

固定幅フォントの大文字は、システム指定の要素を示します。このような要素には、パラメータ、権限、データ型、Recovery Managerキーワード、SQLキーワード、SQL*Plusまたはユーティリティ・コマンド、パッケージおよびメソッドがあります。また、システム指定の列名、データベース・オブジェクト、データベース構造、ユーザー名およびロールも含まれます。 

NUMBER列に対してのみ、この句を指定できます。

BACKUPコマンドを使用して、データベースのバックアップを作成できます。

USER_TABLESデータ・ディクショナリ・ビュー内のTABLE_NAME列を問い合せます。

DBMS_STATS.GENERATE_STATSプロシージャを使用します。 

固定幅フォントの小文字 

固定幅フォントの小文字は、実行可能ファイル、ファイル名、ディレクトリ名およびユーザーが指定する要素のサンプルを示します。このような要素には、コンピュータ名およびデータベース名、ネット・サービス名および接続識別子があります。また、ユーザーが指定するデータベース・オブジェクトとデータベース構造、列名、パッケージとクラス、ユーザー名とロール、プログラム・ユニットおよびパラメータ値も含まれます。

注意: プログラム要素には、大文字と小文字を組み合せて使用するものもあります。これらの要素は、記載されているとおりに入力してください。 

sqlplusと入力して、SQL*Plusをオープンします。

パスワードは、orapwdファイルで指定します。

/disk1/oracle/dbsディレクトリ内のデータ・ファイルおよび制御ファイルのバックアップを作成します。

hr.departments表には、department_iddepartment_nameおよびlocation_id列があります。

QUERY_REWRITE_ENABLED初期化パラメータをtrueに設定します。

oeユーザーとして接続します。

JRepUtilクラスが次のメソッドを実装します。 

固定幅フォントの小文字のイタリック 

固定幅フォントの小文字のイタリックは、プレースホルダまたは変数を示します。 

parallel_clauseを指定できます。

old_release.SQLを実行します。ここで、old_releaseとはアップグレード前にインストールしたリリースを示します。 

コード例の表記規則

コード例は、SQL、PL/SQL、SQL*Plusまたは他のコマンドライン文の例です。次のように固定幅フォントで表示され、通常のテキストと区別されます。

SELECT USERNAME FROM DBA_USERS WHERE USERNAME = 'MIGRATE';

次の表に、コード例で使用される表記規則とその使用例を示します。

規則  意味   
[ ]
 

大カッコは、カッコ内の項目を任意に選択することを表します。 

DECIMAL (digits [ , precision ])
 
{ }
 

中カッコは、カッコ内の項目がグループ化された項目であることを表します。 

{ENABLE | DISABLE}
 
|
 

縦線は、複数の選択項目の区切りに使用します。 

{ENABLE | DISABLE}
[COMPRESS | NOCOMPRESS]
 
...
 

省略記号は、構文の説明での繰返しを表します。

コード例またはテキストでは、省略記号は項目が省略されていることを表します。 

CREATE TABLE ... AS subquery;

SELECT col1, col2, ... , coln FROM employees;
 

その他の記号 

大カッコ([ ])、中カッコ({ })、縦線(|)および省略記号(...)以外の記号は、記載されているとおりに入力する必要があります。 

acctbal NUMBER(11,2);
acct CONSTANT NUMBER(4) := 3;
 
イタリック体
 

イタリック体は、特定の値を指定する必要があるプレースホルダや変数を示します。 

CONNECT SYSTEM/system_password
DB_NAME = database_name
 
大文字
 

大文字は、システム指定の要素を示します。これらの要素は、ユーザー定義の要素と区別するために大文字で示されます。大カッコ内にないかぎり、表示されているとおりの順序および綴りで入力します。ただし、大/小文字が区別されないため、大文字または小文字のいずれでも入力できます。 

SELECT last_name, employee_id FROM employees;
SELECT * FROM USER_TABLES;
DROP TABLE hr.employees;
 
小文字
 

小文字は、表名、列名、ファイル名などのユーザー指定のプログラム要素を示します。

注意: プログラム要素には、大文字と小文字を組み合せて使用するものもあります。これらの要素は、記載されているとおりに入力してください。 

SELECT last_name, employee_id FROM employees;
sqlplus hr/hr
CREATE USER mjones IDENTIFIED BY ty3MU9;
 

サポートおよびサービス

次の各項に、各サービスに接続するためのURLを記載します。

オラクル社カスタマ・サポート・センター

オラクル製品サポートの購入方法、およびオラクル社カスタマ・サポート・センターへの連絡方法の詳細は、次のURLを参照してください。

http://www.oracle.co.jp/support/

製品マニュアル

製品のマニュアルは、次のURLにあります。

http://otn.oracle.co.jp/document/

研修およびトレーニング

研修に関する情報とスケジュールは、次のURLで入手できます。

http://www.oracle.co.jp/education/

その他の情報

オラクル製品やサービスに関するその他の情報については、次のURLから参照してください。

http://www.oracle.co.jp 
http://otn.oracle.co.jp 


注意: ドキュメント内に記載されているURLや参照ドキュメントには、Oracle Corporationが提供する英語の情報も含まれています。日本語版の情報については、前述のURLを参照してください。  


戻る 次へ
Oracle
Copyright © 2005 Oracle Corporation.

All Rights Reserved.
目次
目次
索引
索引