出版社内容情報
超・SQL術――RDBMSの神髄!
データベースの雄として、UNIX、Windows NT のプラットフォームのデータベースソフトのシェア No.1を誇る Oracleのテクニックを、「~す
るには」の形式で、目的別に解説。ユーザーアカウントやロールでのユーザーの権限の管理、セキュリティ、表、シノニム、データの問い
合せなどの基本的なものから、分散データベース、PL/SQL、組み込みパッケージ、ストアドプロシージャ、ストアドファンクション、トリガー
などのテクニック、さらにアプリケーションやデータベースのチューニング、Webアプリケーションの作成や、2000年問題への対処など、
Oracleで使えるテクニックを多数紹介します。
付属CD-ROMには、本書で紹介した全てのテクニックのSQL文と、Personal Oracle8 体験版を収録しています。
目次
謝辞 2
著者/監訳者紹介 3
監訳者まえがき 4
はじめに 5
付属CD-ROMについて 8
第1章 SQL*Plus 19
1.1 SQL文をファイルに保存するには 22
1.2 SQL*Plusコマンドファイルを実行するには 25
1.3 他のユーザーでSQL*Plusに接続するには 27
1.4 SQL*Plusで文を編集するには 30
1.5 直前のSQL文を繰り返すには 34
1.6 クエリー結果をファイルに保存するには 36
1.7 SQL*Plusシステム変数を表示、変更するには 38
1.8 SQL*Plusでレポートの書式設定をするには 39
1.9 SQLスクリプトでユーザー定義変数を作成するには 46
1.10 SQLスクリプトの進行状況をファイルに記録するには 48
1.11 SQL*PlusでSQL文を作るには 50
1.12 LONGデータ型の列をクエリーするには 52
1.13 クエリーの実行速度を測定するには 55
1.14 SQL*Plusからユーザーセッションを終了するには 58
第2章 ユーザーアカウントとロール 61
2.1 新規ユーザーアカウントを作成するには 63
2.2 新規ロールを作成するには 65
2.3 ユーザーアカウントやロールへの権限付与と取り消しを行うには 68
2.4 アクティブなユーザーアカウントを判別するには 72
2.5 ユーザーデフォルトとプロファイルを変更するには 74
2.6 ユーザーアカウントのディスク領域を制限するには 76
2.7 ロールに付与されている権限を判別するには 78
2.8 ユーザーアカウントに付与されている権限を判別するには 82
第3章 セキュリティ 91
3.1 実行時にユーザーのロールを判別するには 93
3.2 ユーザーのデフォルトロールを削除するには 95
3.3 パスワード保護ロールを使用可能にするには 98
3.4 他のアクティブロールを使用禁止にすることなく目的のロールを使用可能にするには 102
3.5 データを暗号化または復号化するには 106
3.6 非定型クエリーツールによるアクセスを制限するには 110
3.7 特定のプログラムによるデータの変更を制限するには 113
第4章 表 119
4.1 使用可能な表を判別するには 121
4.2 表とその列にコメントを付けるには 126
4.3 別の表から表を作成するには 129
4.4 ユーザーアカウントが所有するすべての表を削除するには 133
4.5 CREATE TABLE文を作成し直すには 136
4.6 データベースで利用可能な容量を判別するには 143
4.7 検査制約を使ってデータの妥当性を検証するには 145
4.8 表のデフォルト値を作成するには 148
4.9 表に主キーを作成するには 149
4.10 参照整合性を適用するには 151
4.11 制約を使用可能または使用禁止にするには 154
第5章 ビュー 159
5.1 利用できるビューを特定するには 161
5.2 CREATE VIEW文を再作成するには 163
5.3 ビューを更新できるかどうか判断するには 165
5.4 ビューを使ってクロスタブクエリーをシミュレートするには 169
5.5 ビューを使ってデータへのアクセスを制限するには 173
5.6 ビューへのデータの挿入を制限するには 177
5.7 エラーのあるビューを作成するには 179
5.8 ビューを使って権限のメンテナンスを簡単にするには 181
第6章 順序 187
6.1 一意の数値を生成する順序を作成するには 188
6.2 使用可能な順序を一覧表示するには 191
6.3 順序の最小値や最大値を変更するには 193
6.4 順序の現在値を変更するには 196
6.5 増分を加えずに順序の値を抽出するには 200
第7章 シノニム 203
7.1 シノニムが参照するオブジェクトを特定するには 204
7.2 スキーマにすべてのオブジェクトのシノニムを作成するには 207
7.3 オブジェクトを参照しているシノニムを一覧表示するには 209
7.4 スキーマの無効なシノニムをすべて削除するには 212
第8章 データの操作 217
8.1 クエリーの結果セットを挿入するには 219
8.2 日付と時刻を挿入するには 221
8.3 クエリーの結果によりレコードを更新するには 224
8.4 列の値をNULLに更新するには 228
8.5 表からすべての行をすばやく削除するには 230
8.6 表から重複行を削除するには 232
8.7 別の表に存在するデータを削除するには 236
8.8 エラーを回避するためセクションごとにデータを削除するには 239
8.9 2000年問題に準拠する日付列を挿入するには 241
8.10 2000年問題に関連して日付列を更新するには 243
第9章 データのクエリー 247
9.1 関連する2つの表を結合するには 251
9.2 論理グループ単位でデータをグループ化するには 255
9.3 クエリーによって返される行数を制限するには 258
9.4 重複している行を返さないようにするには 261
9.5 表を自己結合するには 265
9.6 クエリー内でワイルドカードを使うには 268
9.7 表内のレコード数を数えるには 270
9.8 行を降順に並べるには 274
9.9 行を標準以外の順番で並べるには 278
9.10 別のクエリーの結果に依存するクエリーを作成するには 281
9.11 2つのクエリーを結合するには 284
9.12 2つのクエリーの共通部分を返すには 287
9.13 2つのクエリーの差をとるには 290
9.14 結合条件が満たされない場合でも行を返すには 292
9.15 DECODE関数を使って「大なり」と「小なり」論理を判断するには 296
9.16 ROWIDによりレコードに対してクエリーを実行するには 298
9.17 クエリー実行時に、検索する行をロックするには 301
9.18 ツリー構造をたどるには 304
9.19 グループ関数に基づいてレコードを返すには 307
第10章 日付、テキスト、数値 311
10.1 日付や時刻の書式を設定するには 313
10.2 月名と曜日名の後の空白を取り除くには 319
10.3 日付や時刻を計算するには 321
10.4 NULL値を文字列や数値に置換するには 324
10.5 数値を文字列に変換するには 327
10.6 文字列を連結するには 330
10.7 文字列の各単語の先頭の文字を大文字にするには 333
10.8 数値を単語としてつづるには 335
10.9 文字列の一部分を抜き出すには 338
10.10 文字列のパターンを検索/置換するには 340
10.11 文字列の大文字/小文字を変換するには 344
第11章 分散データベース 347
11.1 他のデータベースへのリンクを作成するには 349
11.2 利用できるデータベースリンクを判別するには 353
11.3 他のデータベースからデータを抽出するには 356
11.4 他のデータベースを参照しているシノニムを作成するには 359
11.5 リモートデータベースでデータを挿入または更新するには 361
11.6 スナップショットを作成するには 364
11.7 スナップショットを手動でリフレッシュするには 369
11.8 既存のスナップショットに関する情報を表示するには 372
11.9 リモートストアドプロシージャを実行するには 376
第12章 PL/SQL 381
12.1 アクションを実行するPL/SQLブロックを作成するには 383
12.2 PL/SQLからデバッグ文を表示するには 388
12.3 PL/SQLで例外を処理するには 390
12.4 条件文を使うには 395
12.5 ループ操作を使うには 398
12.6 ユーザー定義の例外を作成するには 402
12.7 ストアドプロシージャからのユーザー定義エラーを処理するには 404
12.8 PL/SQLで単一レコードのクエリーを実行するには 406
12.9 カーソルを使って複数レコードのクエリーを実行するには 409
12.10 データベースレコードや列を表す変数を作るには 414
12.11 PL/SQLの表を使って配列機能を実現するには 417
第13章 プロシージャ、ファンクション、パッケージ 421
13.1 ストアドプロシージャを作成するには 423
13.2 ストアドファンクションを作成するには 428
13.3 ストアドモジュール作成時にコンパイルエラーを表示するには 431
13.4 PL/SQLモジュール内にプロシージャまたはファンクションを作成するには 434
13.5 ストアドパッケージを作成するには 439
13.6 ストアドモジュールのソースコードを表示するには 442
13.7 ストアドモジュールを作成する文を再作成するには 445
13.8 プロシージャとファンクションをパッケージにオーバーロードするには 448
13.9 SQL文の中でストアドファンクションを使うには 451
第14章 組み込みパッケージ 455
14.1 Oracle内でプログラムをスケジュールするには 457
14.2 動的なSQL文を実行するには 462
14.3 データベースで発生したイベントに基づいてアクションを実行するには 467
14.4 PL/SQLでOracle*Mailメッセージを送信するには 472
14.5 Oracleセッション間で通信するには 474
14.6 オペレーティングシステムファイルを読み書きするには 481
14.7 カンマで区切ったリストをPL/SQLで使うには 484
第15章 データベーストリガー 489
15.1 データベーストリガーを作成するには 491
15.2 データベーストリガー内で列値を使うには 499
15.3 データベーストリガーを使ってデータの冗長性を管理するには 502
15.4 データベーストリガーを使って削除をカスケードするには 506
15.5 トリガーを有効/無効にするには 510
15.6 CREATE TRIGGER文を再構築するには 514
15.7 トリガーに関する情報を一覧するには 520
15.8 トリガーを使ってデータの複製をするには 522
第16章 アプリケーションのチューニング 529
16.1 表に索引を作成するには 530
16.2 表の索引を判別するには 536
16.3 EXPLAINを使ってクエリーを分析するには 539
16.4 クエリーの分析にSQL*TraceとTKPROFを使うには 545
16.5 オプティマイザにヒントを渡すには 551
16.6 クエリー時に索引を抑制するには 554
第17章 データベースのチューニング 557
17.1 入出力競合を発見し負荷を分散させるには 559
17.2 複数のデバイス全域に表領域をストライプするには 563
17.3 ロールバックセグメント競合を発見するには 565
17.4 redoログ競合を発見するには 567
17.5 表領域の断片化を発見するには 570
17.6 ソート領域のヒット統計を調べるには 572
17.7 現在のSGA値を調べるには 575
17.8 データベースバッファキャッシュのヒット率を調べるには 577
17.9 共有プールのヒット率を調べるには 578
17.10 INITORCL.ORAパラメータを調べるには 582
第18章 Oracle Objects for OLE 589
18.1 データベースに接続するには 591
18.2 Oracle Objects for OLEを使ってクエリーをするには 594
18.3 クエリーが返したレコード内を移動するには 598
18.4 レコードを挿入するには 604
18.5 レコードを更新するには 607
18.6 レコードを削除するには 612
18.7 ストアドプロシージャを実行するには 617
18.8 LONGデータ型を処理するには 621
18.9 Oracle Objects for OLEでエラーを検出させるには 624
第19章 Oracle WebServerを使ったWebアプリケーションの作成 631
19.1 動的なWebドキュメントを生成するには 633
19.2 動的なコンテンツを使ってページを生成するには 636
19.3 クエリー結果をWebドキュメントに返すには 639
19.4 別のページへのリンクを作成するには 643
19.5 Webドキュメントでテキストに書式設定や強調表示をするには 647
19.6 Webドキュメントでリストを使うには 650
19.7 Webドキュメントで画像を使うには 654
19.8 HTMLフォームを作成するには 656
19.9 WebドキュメントでHTMLの表を使うには 664
19.10 CGI環境変数を使うには 669
19.11 フォームにパスワードフィールドを作成するには 672
第20章 WebServerの管理 677
20.1 Oracle Web Listenerを起動/停止するには 679
20.2 新規のサービスを作成するには 682
20.3 Web Agent用のエラーページを作成するには 689
20.4 PL/SQL Agentが検出したエラーを表示するには 691
20.5 新規のWeb Listenerを作成するには 693
20.6 複数のサービスから1つのDeveloper'sToolkitを使うには 696
付録A Oracleエラーメッセージの処理 700
索引 707
使用権許諾書 737
Personal Oracle8 for Windows95/NT R8.0.390日間トライアル版について 734
内容説明
本書には、Oracle PL/SQLを使う上でのテクニックが詰まっている。Oracleを扱うコンピュータ技術者が経験する問題に対し、現実に即した答えを提供する。
目次
SQL・Plus
ユーザーアカウントロール
セキュリティ
表
ビュー
順序
シノニム
データの操作
データのクエリー
日付、テキスト、数値〔ほか〕