ヘッダーをスキップ
Oracle® Database Oracleプリコンパイラのためのプログラマーズ・ガイド
11
g
リリース2(11.2)
B61344-01
索引
次へ
目次
タイトルおよび著作権情報
はじめに
対象読者
ドキュメントのアクセシビリティについて
このマニュアルの構成
関連ドキュメント
表記規則
1
概要
Oracleプリコンパイラ
代替言語
Oracleプリコンパイラを使用する理由
SQLを使用する理由
PL/SQLを使用する理由
Oracleプリコンパイラの機能と利点
業界標準を満たすOracleプリコンパイラ
要件
準拠
FIPSフラガー
FIPSオプション
認定
2
基礎の学習
埋込みSQLプログラミングの基本概念
埋込みSQL文
実行文と宣言文
埋込みSQL文の構文
静的SQL文と動的SQL文
埋込みPL/SQLブロック
ホスト変数およびインジケータ変数
Oracleデータ型
配列
データ型の同値化
プライベートSQL領域、カーソルおよびアクティブ・セット
トランザクション
エラーおよび警告
埋込みSQLアプリケーション開発の手順
サンプル・プログラム
サンプル表
サンプル・データ
3
プログラム要件への対応
宣言部
例
INCLUDE文
SQLCA
Oracleデータ型
内部データ型
CHAR
DATE
LONG
LONG RAW
MLSLABEL
NUMBER
RAW
ROWID
VARCHAR2
SQL擬似列およびファンクション
ROWLABEL列
外部データ型
CHAR
CHARF
CHARZ
DATE
DECIMAL
DISPLAY
FLOAT
INTEGER
LONG
LONG RAW
LONG VARCHAR
LONG VARRAW
MLSLABEL
NUMBER
RAW
ROWID
STRING
UNSIGNED
VARCHAR
VARCHAR2
VARNUM
VARRAW
データ型変換
DATE値
RAW値およびLONG RAW値
ホスト変数の宣言および参照
例
VARCHAR変数
ホスト変数のガイドライン
インジケータ変数の宣言および参照
INDICATORキーワード
例
インジケータ変数のガイドライン
データ型の同値化
データ型の同値化を行う理由
ホスト変数の同値化
例
CHARFデータ型指定子の使用方法
ガイドライン
グローバリゼーション・サポート
グローバリゼーション・サポートのマルチバイト・キャラクタ・セット
埋込みSQL内の文字列
動的SQL
埋込みDDL
グローバリゼーション・サポートのマルチバイト・ホスト変数
制限
空白埋込み
インジケータ変数
同時接続
予備知識
デフォルトのデータベースおよび接続
明示的接続
単一の明示的接続ン
複数の明示的接続
暗黙的接続
単一の暗黙的接続
複数の暗黙的接続
Oracle Call Interface(OCI)コールの埋込み
LDAの設定
リモートおよび複数の接続
X/Openアプリケーションの開発
Oracle固有の問題
Oracleへの接続
トランザクション制御
OCIコール
リンク
4
埋込みSQLの使用方法
ホスト変数の使用方法
出力変数と入力変数
インジケータ変数の使用
入力変数
出力変数
NULLの挿入
戻されたNULLの処理
Nullのフェッチ
Nullの検査
切り捨てられた値のフェッチ
基本のSQL文
行の選択
使用可能な句
行の挿入
副問合せの使用方法
行の更新
行の削除
WHERE句の使用
カーソル
カーソルの宣言
カーソルのオープン
カーソルからのフェッチ
カーソルのクローズ
CURRENT OF句の使用方法
制限
一般的な文の順序
完全な例
カーソル変数
カーソル変数の宣言
カーソル変数の割当て
カーソル変数のオープン
カーソル変数からのフェッチ
カーソル変数のクローズ
5
埋込みPL/SQLの使用方法
PL/SQLの利点
パフォーマンスの向上
Oracleとの統合
カーソルFORループ
サブプログラム
パラメータ・モード
パッケージ
PL/SQL表
ユーザー定義のレコード
PL/SQLブロックの埋込み
ホスト変数の使用方法
例
複雑な例
VARCHAR擬似型
インジケータ変数の使用方法
NULLの処理
切り捨てられた値の処理
ホスト配列の使用方法
ARRAYLEN文
カーソルの使用方法
代替方法
ストアド・サブプログラム
ストアド・サブプログラムの作成
ストアド・サブプログラムのコール
リモート・アクセス
ストアド・サブプログラムに関する情報の取得
動的PL/SQLの使用
制限事項
6
Oracleプリコンパイラの実行
プリコンパイラのコマンド
プリコンパイル中の状況
プリコンパイラのオプション
デフォルト値
現在の値の確認
大文字と小文字の区別
構成ファイル
オプションの入力
コマンドライン
インライン
利点
EXEC ORACLEの有効範囲
構成ファイル
利点
構成ファイルの使用方法
オプション値の設定
オプションの有効範囲
クイック・リファレンス
プリコンパイラ・オプションの使用方法
ASACC
ASSUME_SQLCODE
AUTO_CONNECT
CHAR_MAP
CINCR
CLOSE_ON_COMMIT
CMAX
CMIN
CNOWAIT
CODE
COMMON_NAME
COMMON_PARSER
COMP_CHARSET
COMP_CHARSET
CONFIG
CPOOL
CPP_SUFFIX
CTIMEOUT
DB2_ARRAY
DBMS
DEF_SQLCODE
DEFINE
DURATION
DYNAMIC
ERRORS
ERRTYPE
EVENTS
FIPS
FORMAT
Globalization Support_LOCAL
HEADER
HOLD_CURSOR
HOST
IMPLICIT_SVPT
INAME
INCLUDE
IRECLEN
INTYPE
LINES
LITDELIM
LNAME
LRECLEN
LTYPE
MAXLITERAL
MAXOPENCURSORS
MAX_ROW_INSERT
MODE
MULTISUBPROG
NATIVE_TYPES
NLS_CHAR
NLS_LOCAL
OBJECTS
ONAME
ORACA
ORECLEN
OUTLINE
OUTLNPREFIX
PAGELEN
PARSE
PREFETCH
RELEASE_CURSOR
RUNOUTLINE
SELECT_ERROR
SQLCHECK
STMT_CACHE
THREADS
TYPE_CODE
UNSAFE_NULL
USERID
UTF16_CHARSET
VARCHAR
VERSION
XREF
条件付きプリコンパイル
例
シンボルの定義
分割プリコンパイル
ガイドライン
制限事項
コンパイルおよびリンク
システム依存
マルチバイト・グローバリゼーション・サポートの互換性
7
トランザクションの定義および制御
基本用語
トランザクションによるデータベースの保護
トランザクションの開始および終了方法
COMMIT文の使用方法
ROLLBACK文の使用方法
文レベルのロールバック
SAVEPOINT文の使用方法
RELEASEオプションの使用
SET TRANSACTION文の使用方法
デフォルト・ロックのオーバーライド
FOR UPDATE OF句の使用方法
制限事項
LOCK TABLE文の使用方法
複数のコミットにわたるフェッチ
分散トランザクションの処理
ガイドライン
アプリケーションの設計
ロックの取得
PL/SQLの使用方法
8
エラーの処理および診断
エラー処理の必要性
エラー処理の代替方法
SQLCODEおよびSQLSTATE
SQLCA
ORACA
MODE={ANSI|ANSI14}の場合の状態変数の使用方法
履歴情報
リリース1.5
リリース1.6
リリース1.7
状態変数の宣言
SQLCODEの宣言
SQLSTATEの宣言
状態変数の組合せ
状態変数の値
SQLCODEの値
SQLSTATEの値
SQL通信領域の使用方法
SQLCAの宣言
Pro*COBOLでのSQLCAの宣言
Pro*FORTRANでのSQLCAの宣言
SQLCAの内容
エラー・レポートの主要コンポーネント
ステータス・コード
警告フラグ
処理済行数
解析エラー・オフセット
エラー・メッセージ・テキスト
SQLCA構造体
SQLCAID
SQLCABC
SQLCODE
SQLERRM
SQLERRP
SQLERRD
SQLWARN
SQLEXT
PL/SQLの考慮事項
エラー・メッセージの全文の取得
WHENEVER文の使用方法
SQLWARNING
SQLERROR
NOT FOUND
CONTINUE
DO
GOTO
STOP
例
有効範囲
ガイドライン
SQL文のテキストの取得
Oracle通信領域の使用方法
ORACAの宣言
ORACAの有効化
ORACAの内容
ランタイム・オプションの選択
ORACAの構造体
ORACAID
ORACABC
ORACCHF
ORADBGF
ORAHCHF
ORASTXTF
診断
ORASTXT
ORASFNM
ORASLNR
カーソル・キャッシュ統計情報
ORAHOC
ORAMOC
ORACOC
ORANOR
ORANPR
ORANEX
例
9
ホスト配列の使用方法
ホスト配列
配列を使用する理由
ホスト変数の宣言
配列の次元設定
制限事項
SQL文での配列の使用方法
配列への選択
一括フェッチ
フェッチされる行数
制限事項
NULLのフェッチ
切り捨てられた値のフェッチ
配列での挿入
配列での更新
配列での削除
制限事項
インジケータ配列の使用方法
FOR句の使用方法
制限事項
SELECT文中
CURRENT OF句との併用
WHERE句の使用方法
CURRENT OF句の擬似実行
SQLERRD(3)の使用方法
10
動的SQLの使用方法
動的SQL
動的SQLの長所と短所
動的SQLを使用する場合
動的SQL文の要件
動的SQL文の処理
動的SQLの使用方法
方法1
方法2
方法3
方法4
ガイドライン
一般的エラーの回避
方法1の使用方法
EXECUTE IMMEDIATE文
例
方法2の使用方法
USING句
例
方法3の使用方法
PREPARE
DECLARE
OPEN
FETCH
CLOSE
例
方法4の使用方法
SQLDAの必要性
DESCRIBE文
SQLDA
方法4の実行
DECLARE STATEMENT文の使用方法
ホスト配列の使用方法
PL/SQLの使用方法
方法1の場合
方法2の場合
方法3の場合
方法4の場合
注意
11
ユーザー・イグジットの作成
ユーザー・イグジット
ユーザー・イグジットを作成する理由
ユーザー・イグジットの開発
ユーザー・イグジットの作成
変数の要件
IAF GET文
IAF PUT文
ユーザー・イグジットのコール
ユーザー・イグジットへのパラメータの引渡し
フォームへの値の返却
IAP定数
SQLIEM関数
WHENEVERの使用方法
例
ユーザー・イグジットのプリコンパイルおよびコンパイル
GENXTBユーティリティの使用方法
SQL*Formsへのユーザー・イグジットのリンク
SQL*Formsユーザー・イグジットのガイドライン
イグジットの命名
Oracleへの接続
I/Oコールの発行
ホスト変数の使用方法
表の更新
コマンドの発行
EXEC TOOLS文
EXEC TOOLS SET
EXEC TOOLS GET
EXEC TOOLS SET CONTEXT
EXEC TOOLS GET CONTEXT
EXEC TOOLS MESSAGE
A
新機能
インジケータ変数を使用しないNULLのフェッチ
DBMS=V6の使用方法
DBMS=V7およびMODE=ORACLEの使用方法
関連のエラー・メッセージ
追加の配列挿入/選択構文
SQL99構文のサポート
実行計画の修正
暗黙的バッファ済挿入の使用方法
動的SQL文のキャッシュ
スクロール可能なカーソル
プラットフォーム・エンディアン・サポート
柔軟なB領域の長さ
B
Oracleの予約語、キーワードおよびネームスペース
Oracleの予約語
Oracleのキーワード
PL/SQLの予約語
Oracleの予約済ネームスペース
C
パフォーマンス・チューニング
パフォーマンス低下の原因
パフォーマンスの改善方法
ホスト配列の使用
埋込みPL/SQLの使用
SQL文の最適化
オプティマイザ・ヒント
ヒントの与え方
トレース機能
索引の使用
行レベル・ロックの利用
不要な解析の排除
明示カーソルの処理
カーソルの制御
カーソル管理オプションの使用
プライベートSQL領域とカーソル・キャッシュ
リソースの使用
実行回数が少ない場合
実行回数が多い場合
パラメータの相互作用
D
構文およびセマンティックのチェック
構文およびセマンティックのチェック
チェックの種類および範囲の制御
SQLCHECK=SEMANTICSの指定
セマンティック・チェックの有効化
Oracleへの接続
DECLARE TABLEの使用方法
E
埋込みSQLコマンドおよびディレクティブ
プリコンパイラのディレクティブと埋込みSQLコマンドの概要
コマンドの説明について
構文図の読み方
必須のキーワードおよびパラメータ
オプションのキーワードおよびパラメータ
構文ループ
マルチパート図
データベース・オブジェクト
ALLOCATE(実行可能埋込みSQL拡張機能)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
関連項目
CLOSE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連トピック
COMMIT(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
関連トピック
CONNECT(実行可能埋込みSQL拡張機能)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
関連項目
DECLARE CURSOR(埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
DECLARE DATABASE(Oracle埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
DECLARE STATEMENT(埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例I
例II
関連項目
DECLARE TABLE(Oracle埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
DELETE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
DESCRIBE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
EXECUTE ... END-EXEC(実行可能埋込みSQL拡張機能)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
EXECUTE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
EXECUTE IMMEDIATE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
FETCH(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
INSERT(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例I
例II
関連項目
OPEN(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
PREPARE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
ROLLBACK(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例I
例II
分散トランザクション
例III
関連項目
SAVEPOINT(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
関連項目
SELECT(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
UPDATE(実行可能埋込みSQL)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
VAR(Oracle埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
WHENEVER(埋込みSQLディレクティブ)
用途
前提条件
構文
キーワードおよびパラメータ
使用上の注意
例
関連項目
索引