• 検索結果がありません。

Oracle8i SQL*Plus ユーザーズ・ガイドおよびリファレンス, リリース8.1

N/A
N/A
Protected

Academic year: 2021

シェア "Oracle8i SQL*Plus ユーザーズ・ガイドおよびリファレンス, リリース8.1"

Copied!
388
0
0

読み込み中.... (全文を見る)

全文

(1)

ユーザーズ・ガイドおよびリファレンス

リリース 8.1

2000年 2 月

(2)

原本名:SQL*Plus User’s Guide and Reference, Release 8.1.6 原本部品番号:A75664-01

原本協力著者:Larry Baer、Lisa Colston、Roland Kovacs、Karen Denchfield-Masterson、 Alison Holloway、Sanjeev Jhala、Christopher Jones、Anita Lam、Nimish Mehta、Luan Nim、 Bud Osterberg、Irene Paradisis、Richard Rendell、Frank Rovitto、Farokh Shapoorjee、Larry Stevens、 Andre Touma、Simon Watt

Copyright © 1996, 1999, Oracle Corporation. All rights reserved. Printed in Japan. 制限付権利の説明 プログラム(ソフトウェアおよびドキュメントを含む)の使用、複製または開示は、オラクル社との契 約に記された制約条件に従うものとします。著作権、特許権およびその他の知的財産権に関する法律に より保護されています。 当プログラムのリバース・エンジニアリング等は禁止されております。 このドキュメントの情報は、予告なしに変更されることがあります。オラクル社は本ドキュメントの無 謬性を保証しません。 * オラクル社とは、Oracle Corporation(米国オラクル)または日本オラクル株式会社(日本オラクル) を指します。 危険な用途への使用について オラクル社製品は、原子力、航空産業、大量輸送、医療あるいはその他の危険が伴うアプリケーション を用途として開発されておりません。オラクル社製品を上述のようなアプリケーションに使用すること についての安全確保は、顧客各位の責任と費用により行ってください。万一かかる用途での使用により クレームや損害が発生いたしましても、日本オラクル株式会社と開発元であるOracle Corporation(米 国オラクル)およびその関連会社は一切責任を負いかねます。 当プログラムを米国国防総省の米国政府 機関に提供する際には、『Restricted Rights』と共に提供してください。この場合次の Notice が適用され ます。

Restricted Rights Notice

Programs delivered subject to the DOD FAR Supplement are "commercial computer software" and use, duplication, and disclosure of the Programs, including documentation, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement. Otherwise, Programs delivered subject to the Federal Acquisition Regulations are "restricted computer software" and use, duplication, and disclosure of the Programs shall be subject to the restrictions in FAR 52.227-19, Commercial Computer Software - Restricted Rights (June, 1987). Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.

このドキュメントに記載されているその他の会社名および製品名は、あくまでその製品および会社を識 別する目的にのみ使用されており、それぞれの所有者の商標または登録商標です。

(3)

はじめに

はじめに

はじめに

はじめに

... ix 対象読者 ... x マニュアルの使用方法 ... x 関連マニュアル ... xii

第 I 部

SQL*Plus

について

について

について

について

1

概要

概要

概要

概要

SQL*Plus の概要の概要の概要 ... 1-2の概要 基本概念 ... 1-2 SQL*Plus の対象ユーザー ... 1-2 その他のOracle 製品との連携方法 ... 1-3 このマニュアルの利用方法 このマニュアルの利用方法このマニュアルの利用方法 このマニュアルの利用方法 ... 1-4 コマンド構文の規則 ... 1-4 サンプル表 ... 1-5 SQL*Plus の実行に必要なものの実行に必要なものの実行に必要なもの ... 1-6の実行に必要なもの ハードウェアおよびソフトウェア ... 1-6 オペレーティング・システムに固有の情報 ... 1-7 ユーザー名およびパスワード ... 1-7 サンプル表へのアクセス ... 1-8

2

SQL*Plus

の基本

の基本

の基本

の基本

ご使用になる前に ご使用になる前にご使用になる前に ご使用になる前に ... 2-2 キーボードの使用方法 ... 2-2

(4)

コマンドの入力と実行 コマンドの入力と実行コマンドの入力と実行 コマンドの入力と実行 ... 2-5 SQL コマンドの実行 ... 2-6 PL/SQL ブロックの実行 ... 2-10 SQL*Plus コマンドの実行 ... 2-11 コマンドの実行に影響する変数 ... 2-13 データベースへの変更の自動保存 ... 2-13 実行中のコマンドの停止 ... 2-15 実行したコマンドのタイミング統計の収集 ... 2-15 ホスト・オペレーティング・システムのコマンドの実行 ... 2-15 役立つ情報 役立つ情報役立つ情報 役立つ情報 ... 2-16 表定義のリスト表示 ... 2-16 PL/SQL 定義のリスト表示 ... 2-17 表示の制御 ... 2-17 エラー・メッセージの解釈 ... 2-17

3

コマンド操作

コマンド操作

コマンド操作

コマンド操作

編集コマンド 編集コマンド編集コマンド 編集コマンド ... 3-2 バッファ内容のリスト表示 ... 3-3 カレント行の編集 ... 3-4 新しい行の追加 ... 3-5 行へのテキストの追加 ... 3-6 行の削除 ... 3-7 システム・エディタを使用したコマンドの編集 ... 3-8 後で使用するコマンドの保存 後で使用するコマンドの保存後で使用するコマンドの保存 後で使用するコマンドの保存 ... 3-8 コマンド・ファイルへのコマンドの格納 ... 3-8 コマンド・ファイルへのコメントの挿入 ... 3-12 コマンド・ファイルの取出し ... 3-13 コマンド・ファイルの実行 ... 3-14 コマンド・ファイルのネスト ... 3-16 コマンド・ファイルの変更 ... 3-16 リターン・コードを伴ったコマンド・ファイルの終了 ... 3-17 SQL*Plus 環境の設定 ... 3-17 SQL*Plus システム変数の格納および復元 ... 3-18

(5)

置換変数の使用 ... 3-20 START コマンドを使用した値の指定 ... 3-25 プロンプトの表示 ... 3-27 バインド変数の使用方法 バインド変数の使用方法バインド変数の使用方法 バインド変数の使用方法 ... 3-30 バインド変数の作成 ... 3-30 バインド変数の参照 ... 3-31 バインド変数の表示 ... 3-31 REFCURSOR バインド変数の使用方法バインド変数の使用方法バインド変数の使用方法 ... 3-32バインド変数の使用方法 文のトレース 文のトレース文のトレース 文のトレース ... 3-35 レポートの制御 ... 3-35 Execution Plan ... 3-36 統計 ... 3-37 パラレル問合せおよび分散問合せのトレース ... 3-39

4

問合せ結果の書式の設定

問合せ結果の書式の設定

問合せ結果の書式の設定

問合せ結果の書式の設定

列の書式設定 列の書式設定列の書式設定 列の書式設定 ... 4-2 列ヘッダーの変更 ... 4-2 NUMBER 列の書式設定 ... 4-4 データ型の書式設定 ... 4-6 列の表示属性のコピー ... 4-8 列の表示属性のリスト表示およびリセット ... 4-9 列の表示属性の抑止および復元 ... 4-9 折り返した列の値の後で文字の行を出力する方法 ... 4-10 間隔の設定およびサマリー行によるレポートの明確化 間隔の設定およびサマリー行によるレポートの明確化間隔の設定およびサマリー行によるレポートの明確化 間隔の設定およびサマリー行によるレポートの明確化 ... 4-11 ブレーク列内の値の重複の抑止 ... 4-12 ブレーク列の値が変更されたときの空白の挿入 ... 4-13 各行の後に空白を挿入する方法 ... 4-14 複数の間隔設定技法の使用方法 ... 4-14 ブレーク定義のリスト表示および取消し ... 4-15 ブレーク列の値が変更されたときにサマリー行を計算する方法 ... 4-16 レポートの終わりでのサマリー行の計算 ... 4-20 複数のサマリー値およびサマリー行の計算 ... 4-21 COMPUTE 定義のリスト表示および取消し ... 4-22

(6)

タイトルの中にページ番号およびその他のシステム管理値を表示する方法 ... 4-28 ページ・タイトル定義のリスト表示、抑止、復元 ... 4-29 タイトル内に列の値を表示する方法 ... 4-30 タイトル内に現在の日付を表示する方法 ... 4-32 ページ・サイズの設定 ... 4-32 問合せ結果の格納および印刷 問合せ結果の格納および印刷問合せ結果の格納および印刷 問合せ結果の格納および印刷 ... 4-35 ファイルへの結果の格納 ... 4-36 プリンタへの結果の出力 ... 4-36 Web レポートの作成レポートの作成レポートの作成レポートの作成 ... 4-38 Web レポートの対話型での作成 ... 4-38 HTML エンティティ ... 4-42 埋込み型のWeb レポートの作成 ... 4-42 Web レポートでの SQL*Plus コマンドの表示の抑止 ... 4-45

5

データベース管理

データベース管理

データベース管理

データベース管理

概要 概要概要 概要 ... 5-2 データベースの起動および停止の概要 データベースの起動および停止の概要データベースの起動および停止の概要 データベースの起動および停止の概要 ... 5-2 データベースの起動 ... 5-2 データベースの停止 ... 5-3 REDO ログ・ファイルログ・ファイルログ・ファイルログ・ファイル ... 5-4 ARCHIVELOG モード ... 5-4 データベースのリカバリ データベースのリカバリデータベースのリカバリ データベースのリカバリ ... 5-5

6

SQL*Plus

を使用したデータベースへの接続

を使用したデータベースへの接続

を使用したデータベースへの接続

を使用したデータベースへの接続

デフォルト・データベースへの接続 デフォルト・データベースへの接続デフォルト・データベースへの接続 デフォルト・データベースへの接続 ... 6-2 リモート・データベースへの接続 リモート・データベースへの接続リモート・データベースへの接続 リモート・データベースへの接続 ... 6-2 SQL*Plus からのリモート・データベースへの接続 ... 6-3 SQL*Plus 起動時のリモート・データベースへの接続 ... 6-3 データベース間でのデータのコピー データベース間でのデータのコピーデータベース間でのデータのコピー データベース間でのデータのコピー ... 6-4 COPY コマンド構文について ... 6-4 宛先の表の扱いを制御する方法 ... 6-6 COPY で表示されるメッセージの解釈 ... 6-8 別ユーザーの表の指定 ... 6-8

(7)

第 II 部

リファレンス

リファレンス

リファレンス

リファレンス

7

SQL*Plus

の起動およびヘルプの表示

の起動およびヘルプの表示

の起動およびヘルプの表示

の起動およびヘルプの表示

SQLPLUS コマンドでのコマンドでのコマンドでのコマンドでのSQL*Plus の起動の起動の起動の起動 ... 7-2 サイト・プロファイルの設定 ... 7-8 ユーザー・プロファイルの設定 ... 7-8 リターン・コードの受信 ... 7-8 SQL*Plus コマンドのヘルプコマンドのヘルプコマンドのヘルプ ... 7-10コマンドのヘルプ

8

コマンド・リファレンス

コマンド・リファレンス

コマンド・リファレンス

コマンド・リファレンス

SQL*Plus コマンド一覧コマンド一覧コマンド一覧 ... 8-2コマンド一覧 @(アット・マーク)(アット・マーク)(アット・マーク)(アット・マーク) ... 8-5 @@(二重アット・マーク)(二重アット・マーク)(二重アット・マーク)(二重アット・マーク) ... 8-7 /(スラッシュ)(スラッシュ)(スラッシュ)(スラッシュ) ... 8-9 ACCEPT ... 8-10 APPEND ... 8-12 ARCHIVE LOG ... 8-14 ATTRIBUTE ... 8-18 BREAK ... 8-20 BTITLE ... 8-25 CHANGE ... 8-26 CLEAR ... 8-29 COLUMN ... 8-31 COMPUTE ... 8-42 CONNECT ... 8-48 COPY ... 8-50 DEFINE ... 8-53 DEL ... 8-55 DESCRIBE ... 8-57 DISCONNECT ... 8-64 EDIT ... 8-65 EXECUTE ... 8-67 EXIT ... 8-68 GET ... 8-70

(8)

... 8-73 LIST ... 8-75 PASSWORD ... 8-77 PAUSE ... 8-78 PRINT ... 8-79 PROMPT ... 8-80 RECOVER ... 8-82 REMARK ... 8-88 REPFOOTER ... 8-89 REPHEADER ... 8-91 RUN ... 8-95 SAVE ... 8-96 SET ... 8-98 SHOW ... 8-125 SHUTDOWN ... 8-130 SPOOL ... 8-132 START ... 8-133 STARTUP ... 8-135 STORE ... 8-139 TIMING ... 8-140 TTITLE ... 8-142 UNDEFINE ... 8-146 VARIABLE ... 8-147 WHENEVER OSERROR ... 8-153 WHENEVER SQLERROR ... 8-155

A

COPY

コマンドのメッセージおよびコード

コマンドのメッセージおよびコード

コマンドのメッセージおよびコード

コマンドのメッセージおよびコード

B

リリース

リリース 8.1.6 での拡張機能

リリース

リリース

での拡張機能

での拡張機能

での拡張機能

SQL*Plus リリースリリースリリースリリース8.1.6 での拡張機能での拡張機能での拡張機能での拡張機能 ... B-1

(9)

D

SQL

コマンド・リスト

コマンド・リスト

コマンド・リスト

コマンド・リスト

E

セキュリティ

セキュリティ

セキュリティ

セキュリティ

PRODUCT_USER_PROFILE 表表表表 ... E-2 概要 ... E-2 表の作成 ... E-2 表の構造 ... E-3 列の説明および使用方法 ... E-3 管理 ... E-4 ロールの使用禁止 ロールの使用禁止ロールの使用禁止 ロールの使用禁止 ... E-8 概要 ... E-8

SQLPLUS -RESTRICT ... E-8

F

廃止された

廃止された SQL*Plus コマンド

廃止された

廃止された

コマンド

コマンド

コマンド

SQL*Plus で廃止されたコマンドとその代替コマンドで廃止されたコマンドとその代替コマンドで廃止されたコマンドとその代替コマンド ... F-2で廃止されたコマンドとその代替コマンド BTITLE(旧形式)(旧形式)(旧形式)(旧形式) ... F-3 COLUMN DEFAULT ... F-3 DOCUMENT ... F-3 NEWPAGE ... F-4 SET BUFFER ... F-4 SET CLOSECURSOR ... F-5 SET DOCUMENT ... F-5 SET MAXDATA ... F-6 SET SCAN ... F-6 SET SPACE ... F-6 SET TRUNCATE ... F-7 SHOW LABEL ... F-7 TTITLE(旧形式)(旧形式)(旧形式)(旧形式) ... F-7

用語集

用語集

用語集

用語集

索引

索引

索引

索引

(10)
(11)

『Oracle8i SQL*Plus ユーザーズ・ガイドおよびリファレンス』では、SQL*Plus プログラム およびその使用方法について説明します。それぞれのSQL*Plus コマンドについても詳細に 説明します。

(12)

方を対象としています。SQL の基礎知識については、『Oracle8i SQL リファレンス』を参照 してください。PL/SQL データベース言語を SQL*Plus と組み合せて使用する場合は、 PL/SQL の使用方法について 『Oracle8i PL/SQL ユーザーズ・ガイドおよびリファレンス』 を参照してください。

マニュアルの使用方法

マニュアルの使用方法

マニュアルの使用方法

マニュアルの使用方法

このマニュアルで説明するトピックの一覧、各トピックの説明およびそのトピックが説明さ れている章番号については、次の表を参照してください。 第Ⅰ部 第Ⅰ部第Ⅰ部 第Ⅰ部 SQL*Plus についてについてについてについて トピック トピックトピック トピック 説明説明説明説明 章番号章番号章番号章番号 概要 SQL*Plus の概要、このマニュアルの使用方法お よびSQL*Plus を実行するための情報について説 明します。 1 SQL*Plus の基本 SQL*Plus の起動方法およびコマンドを入力して 実行する方法について説明します。ここでは、サ ンプル表を使用した例をステップごとに実践しな がら学習します。 2 コマンド操作 コマンドの編集方法、コマンドを後で使用するた めに保存する方法、対話型コマンドの作成方法 を、例を使用して説明します。 3 問合せ結果の書式の 設定 列を書式設定する方法、間隔を設定したり、サマ リー行を使用してレポートを見やすくする方法、 ページのサイズおよびタイトルを定義する方法、 問合せ結果の格納および出力方法、および問合せ 結果をWeb に出力する方法について説明します。 ステップごとに例も使用します。 4 データベース管理 データベース管理者(DBA)を対象としていま す。SQL*Plus での基本データベース管理機能に ついて説明します。 5

(13)

SQL*Plus を使用した データベースへの接続 デフォルト・データベースおよびリモート・デー タベースに接続する方法、データベース間および 同じデータベースでの2 つの表の間でデータをコ ピーする方法について説明します。 6 SQL*Plus の起動およ びヘルプの表示 オペレーティング・システムのプロンプトから SQL*Plus にアクセスする方法、およびオンライ ン・ヘルプにアクセスする方法について説明しま す。 7 コマンド・リファレン ス SQL*Plus コマンドの概要、それぞれの SQL*Plus コマンドの詳細をアルファベット順で説明しま す。 8 COPY コマンドの メッセージおよびコー ド COPY コマンドのエラー・メッセージおよび原 因、エラーからリカバリするための適切な処置を 示します。 付録A リリース8.1.6 での拡 張機能 リリース8.1.6 での SQL*Plus の機能強化につい て説明します。 付録B SQL*Plus の制限 SQL*Plus の要素の最大値を示します。 付録C SQL コマンド・リス ト 主要なSQL コマンドおよび句を示します。 付録D セキュリティ 特定のSQL*Plus および SQL コマンドへのアク セスを制限する方法について説明します。 付録E 廃止されたSQL*Plus コマンド 廃止されたSQL*Plus コマンドについて説明しま す。 付録F 用語集 Oracle および SQL*Plus に関連する専門用語につ いて説明します。 用語集

(14)

■ 『Oracle8i SQL*Plus クイック・リファレンス』 ■ 『Oracle8i PL/SQL ユーザーズ・ガイドおよびリファレンス』 ■ 『Oracle8i SQL リファレンス』 ■ 『Oracle8i 概要』 ■ 『Oracle8i 管理者ガイド』 ■ 『Oracle8i バックアップおよびリカバリ・ガイド』 ■ 『Oracle8i アプリケーション開発者ガイド 基礎編』 ■ 『Oracle8i 分散システム』 ■ 『Oracle8i レプリケーション・ガイド』 ■ 『Oracle8i ユーティリティ・ガイド』 ■ 『Oracle8i エラー・メッセージ』 ■ 『Oracle8i 移行ガイド』 ■ 『Oracle8i リファレンス・マニュアル』 ■ 『Oracle8i パフォーマンスのための設計およびチューニング』 ■ 『Oracle8i Parallel Server 概要』

■ 『Oracle8i Net8 管理者ガイド』 ■ 『Oracle8i コール・インタフェース・プログラマーズ・ガイド』 ■ 『Oracle8i Pro*COBOL プリコンパイラ・プログラマーズ・ガイド』 ■ 『Oracle8i Pro*C/C++ プリコンパイラ・プログラマーズ・ガイド』 ■ ご使用のオペレーティング・システム用のOracle インストレーション・ガイドおよび管 理者リファレンス

(15)

第I部

SQL*Plus

について

について

について

について

この部では、SQL*Plus の概要について説明します。SQL*Plus の実行方法の概要および様々 な例を使用したSQL*Plus の使用方法を説明します。 この部では、次の章について説明します。 ■ 概要 ■ SQL*Plus の基本 ■ コマンド操作 ■ 問合せ結果の書式の設定 ■ データベース管理 ■ SQL*Plus を使用したデータベースへの接続

(16)
(17)

1

概要

概要

概要

概要

この章では、SQL*Plus の概要を紹介します。この章では、次のトピックについて説明しま す。 ■ SQL*Plus の概要 ■ このマニュアルの利用方法 ■ SQL*Plus の実行に必要なもの

(18)

SQL*Plus

の概要

の概要

の概要

の概要

SQL*Plus プログラムは、SQL データベース言語、およびそのプロシージャ型言語拡張機能 であるPL/SQL と一緒に使用できます。SQL データベース言語を使用すると、Oracle 内の データの格納および取出しができます。PL/SQL を使用すると、プロシージャ型ロジックを 通して複数のSQL コマンドへリンクできます。 SQL*Plus を使用すると、SQL コマンドおよび PL/SQL ブロックを実行できる他、多数の作 業ができます。SQL*Plus を通して実行可能な作業は、次のとおりです。 ■ SQL コマンドおよび PL/SQL ブロックの入力、編集、取出しおよび実行 ■ 問合せ結果の書式設定、計算の実行、格納、印刷およびWeb への表示 ■ 表の列定義のリスト表示 ■ SQL データベース間でのデータへのアクセスおよびデータのコピー ■ エンド・ユーザーへのメッセージの送信およびエンド・ユーザーからの応答の受信 ■ データベースの管理

基本概念

基本概念

基本概念

基本概念

次に、SQL*Plus の基本概念の定義を説明します。

SQL*Plus

の対象ユーザー

の対象ユーザー

の対象ユーザー

の対象ユーザー

SQL*Plus、SQL および PL/SQL コマンド言語は、データベースの操作経験があるユーザー のニーズに応える十分な機能を備えている一方、Oracle での作業を学習中の新規ユーザーに も十分に分かりやすい設計になっています。 コマンド ユーザーがSQL*Plus または Oracle に与える命令 ブロック プロシージャ型ロジックによって相互に関連付けられているSQL お よびPL/SQL コマンドのグループ 表 Oracle での記憶域の基本単位 問合せ 1 つ以上の表から情報を取り出す SQL コマンド(正確には SQL SELECT コマンド) 問合せ結果 問合せによって取り出したデータ レポート ユーザーがSQL*Plus コマンドによって書式を設定した問合せ結果

(19)

SQL*Plus コマンド言語は、簡単に使用できるように設計されています。たとえば、データ ベース内のENAME というラベルが付いた列に、「Employee」という、さらに明確なヘッ ダーを付けるには、次のコマンドを入力します。

COLUMN ENAME HEADING EMPLOYEE

同様に、EMP という表の列定義をリスト表示するには、次のコマンドを入力します。

DESCRIBE EMP

その他の

その他の

その他の

その他の Oracle 製品との連携方法

製品との連携方法

製品との連携方法

製品との連携方法

Oracle Tools を利用することによって、開発者は、Oracle のインターネット・プラット フォーム用に、パフォーマンスが高く強力な企業用アプリケーションを、効率的に作成、管 理および配置することができます。このようなOracle Tools を、次に示します。 JDeveloper Suite コンポーネント・ベースのサーバー中心アプリケーションを、 JAVA で作成するための 3GL 開発ツール Oracle Enterprise Developer Suite 企業クラスのクライアント/ サーバーおよび Web 用データベース・ アプリケーションを作成するための、統合された柔軟性のあるツー ル・セット Oracle Application Server Web ブラウザおよびインターネットを通してデータベースに接続可 能にするツール Oracle Designer データベース・アプリケーション用の一連のクライアント/ サー バー設計ツール

Oracle Developer 一連のクライアント/ サーバーおよび Web 開発ツール Oracle Discoverer 一連のエンド・ユーザー問合せツール Oracle Programmer 一連の3GL プログラミング言語インタフェース Oracle Reports 社内のイントラネットまたはインターネットを通じて、情報を広く 展開および伝達するためのソリューション Oracle Workflow ビジネスのプロセス定義および自動化をサポートするワークフロー 管理システム

Oracle Express 財務、販売および市場分析用の強力なOLAP(Online Analytical Processing)サーバー、ツールおよび事前に作成されたアプリケー ション

Oracle Mobile Agents モバイルまたは切り離されたクライアント(あるいはその両方)を 使用するアプリケーションのためのツール

(20)

このマニュアルの利用方法

このマニュアルの利用方法

このマニュアルの利用方法

このマニュアルの利用方法

このマニュアルでは、SQL*Plus について、すべてのオペレーティング・システムに共通す る情報を説明します。ただし、SQL*Plus のいくつかの点は、オペレーティング・システム ごとに異なります。オペレーティング・システム固有の情報については、ご使用のシステム 用のOracle インストレーション・ガイドおよび管理者リファレンスを参照してください。 これらのオペレーティング・システム用のマニュアルは、このマニュアルと併用してくださ い。 コマンドの入力方法を示す例では、このマニュアルの全編を通じて共通のコマンド構文およ び共通のサンプル表セットを使用しています。それらについて、次に説明します。コマンド 構文の規則は、このマニュアルの「コマンド・リファレンス」を参照する場合に特に役立ち ます。

コマンド構文の規則

コマンド構文の規則

コマンド構文の規則

コマンド構文の規則

次の2 つの表に、このマニュアルで使用するコマンド構文の表記法および規則を示します。 その他のコマンド構文については、その単語が使用されている場所で説明します。 表 表表 表 1-1 コマンド、項および句コマンド、項および句コマンド、項および句コマンド、項および句 機能 機能機能 機能 例例例例 説明説明説明説明 英大文字 BTITLE 記載されているとおりに正確に入力してください。大文 字でなくてもかまいません。 英小文字のイタリッ ク column 句の値。適切な値に置き換えてください。 特定の意味がある 単語 c 単一の文字。 char CHAR 型の値(一重引用符で囲んだリテラル)または CHAR 型の値を伴った式。 dまたは e 日付、またはDATE 型の値を伴った式。 expr 指定されていない式。 mまたは n 数値、またはNUMBER 型の値を伴った式。 text 引用符付きまたは引用符なしのCHAR 型の定数。 variable ユーザー変数(テキストで別の型の変数タイプを指定し た場合以外)。

(21)

その他の記号がコマンド構文で示されている場合は、それらの記号を入力してください。

サンプル表

サンプル表

サンプル表

サンプル表

このマニュアルでは、一連のサンプル表を使用して、概念および操作を説明しています。そ れらのサンプル表には、架空の会社の人事記録が入っています。このマニュアルの例は、そ の会社の人事部長になったつもりで実行してください。 それらの例では、次の2 つのサンプル表の情報を使用します。 図1-1 および図1-2に、それらの表に入っている情報を示します。 表 表表 表 1-2 コマンド構文で使用する記号コマンド構文で使用する記号コマンド構文で使用する記号コマンド構文で使用する記号 機能 機能機能 機能 例例例例 説明説明説明説明 垂直バー | 任意または必ず選択する構文要素の区切り。 大カッコ [ON|OFF] 1 つ以上のオプション項目。2 つの項目が | で区切られている 場合は、どちらかの項目を入力します。大カッコおよび| は 入力しないでください。 中カッコ {ON|OFF} 必須の選択項目。| で区切られている項目のいずれかを入力し ます。中カッコおよび| は入力しないでください。 下線 {ON|OFF} デフォルト値。何も入力しなかった場合は、下線が付いた値が 使用されます。 省略記号 n... 前にある項目を何回でも繰り返すことができます。 EMP サンプル会社の従業員に関する情報が入っています。 DEPT 会社の各部門に関する情報が入っています。 注意 注意注意 注意 : サンプル表の日付は、4 桁の年号桁を使用しています。SQL*Plus のデフォルトの日付書式がNLS_DATE_FORMAT または DD-MM-YY の場 合、日付は、2 桁の年号桁で表示されます。日付の表示方法を変更するに は、SELECT 文で、SQL の TO_CHAR 関数を使用してください。

(22)

図 図図

図 1-1 DEPT 表表表表

DEPTNO DNAME LOC

--- -- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON 図 図図 図 1-2 EMP 表表表表

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO --- --- -- ---- --- 7369 SMITH CLERK 7902 17-DEC-80 800 20 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 7566 JONES MANAGER 7839 02-APR-81 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 7782 CLARK MANAGER 7839 09-JUN-81 2450 30 7788 SCOTT ANALYST 7566 09-DEC-82 3000 20 7839 KING PRESIDENT 17-NOV-81 5000 10 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 7876 ADAMS CLERK 7788 12-JAN-83 1100 20 7900 JAMES CLERK 7698 03-DEC-81 950 30 7902 FORD ANALYST 7566 03-DEC-81 3000 20 7934 MILLER CLERK 7782 23-JAN-82 1300 10

SQL*Plus

の実行に必要なもの

の実行に必要なもの

の実行に必要なもの

の実行に必要なもの

SQL*Plus を実行するには、ハードウェア、ソフトウェア、オペレーティング・システム固 有の情報、ユーザー名とパスワード、および1 つ以上の表へのアクセス権限が必要です。

ハードウェアおよびソフトウェア

ハードウェアおよびソフトウェア

ハードウェアおよびソフトウェア

ハードウェアおよびソフトウェア

Oracle および SQL*Plus は多数の異なる種類のコンピュータ上で実行できます。コンピュー タのリソースを管理し、ハードウェアとSQL*Plus などのプログラム間を調整するのは、オ ペレーティング・システムです。コンピュータの種類によって、使用されているオペレー ティング・システムも様々です。ご使用のオペレーティング・システムの詳細は、コン ピュータに添付されているドキュメントを参照してください。

SQL*Plus を使用するには、あらかじめ Oracle および SQL*Plus の両方をインストールして おく必要があります。SQL*Plus リリース 8.1.6 での拡張機能を十分に活用するためには、 Oracle8i リリース 8.1.6 が必要です。SQL*Plus リリース 8.1.6 での拡張機能の詳細は、付録B

(23)

複数のユーザーがコンピュータを共有している組織では、Oracle の使用を管理するデータ ベース管理者(DBA)が必要です。

DBA は、Oracle および SQL*Plus をシステムにインストールする責任を負います。DBA に なった場合、Oracle および SQL*Plus のインストール方法については、ご使用のオペレー ティング・システム用のOracle インストレーション・ガイドおよび管理者リファレンスを 参照してください。

オペレーティング・システムに固有の情報

オペレーティング・システムに固有の情報

オペレーティング・システムに固有の情報

オペレーティング・システムに固有の情報

Oracle および SQL*Plus には、ホスト・コンピュータおよびオペレーティング・システムの 種類によって異なる点があります。そのような点については、SQL*Plus がサポートしてい るホスト・コンピュータおよびオペレーティング・システム用に出版されているOracle イ ンストレーション・ガイドおよび管理者リファレンスを参照してください。 このマニュアルを読むときには、参照用にOracle インストレーション・ガイドおよび管理 者リファレンスを準備してください。このマニュアルでは、必要に応じてインストレーショ ン・ガイドおよび管理者リファレンスを参照しています。

ユーザー名およびパスワード

ユーザー名およびパスワード

ユーザー名およびパスワード

ユーザー名およびパスワード

SQL*Plus を起動する場合は、許可を受けた Oracle ユーザーであることを識別するユーザー 名およびそのユーザー名の正当な所有者であることを証明するパスワードが必要になりま す。パスワードの変更方法の詳細は、第8 章の「PASSWORD」コマンドを参照してくださ い。インストール手順の実行中に、デモ用のユーザー名SCOTT とパスワード TIGER がシス テムに設定される場合があります。その場合は、Oracle ユーザー名 SCOTT とパスワード TIGER を、EMP 表および DEPT 表(図1-1および図1-2)で使用できます。

マルチユーザー・システム

マルチユーザー・システム

マルチユーザー・システム

マルチユーザー・システム

複数のユーザーがコンピュータのオペレーティング・システムを共有する場合、DBA は、 SQL*Plus のユーザー名およびパスワードを設定できます。オペレーティング・システムに アクセスするために、システムのユーザー名およびパスワードも必要になります。それら は、SQL*Plus に使用するものと同じでも別でもかまいません。

シングルユーザー・システム

シングルユーザー・システム

シングルユーザー・システム

シングルユーザー・システム

一度に1 人のユーザーのみがコンピュータを使用する場合、そのユーザーが自分で DBA の 役割を果たす必要がある場合もあります。その場合は、適切なDBA 権限で Oracle ユーザー 名SCOTT およびパスワード TIGER を使用できます。ユーザー名およびパスワードを独自に 定義する場合は、『Oracle8i SQL リファレンス』を参照してください。

(24)

サンプル表へのアクセス

サンプル表へのアクセス

サンプル表へのアクセス

サンプル表へのアクセス

データベース内のそれぞれの表は、特定のユーザーによって所有されています。このマニュ アルの例を試すときに、サンプル表を独自にコピーして使用することもできます。サンプル 表を独自にコピーするには、DBA に連絡するか、または Oracle の DEMOBLD というコマ ンド・ファイルを実行します(このファイルは、SQL*Plus からではなく、オペレーティン グ・システムから実行します)。 サンプル表が不要になった場合は、Oracle の DEMODROP というコマンド・ファイルを実 行して、サンプル表を削除してください。DEMOBLD および DEMODROP コマンド・ファ イルの実行方法の詳細は、ご使用のオペレーティング・システム用のOracle インストレー ション・ガイドおよび管理者リファレンスを参照してください。

(25)

2

SQL*Plus

の基本

の基本

の基本

の基本

この章では、SQL*Plus の基本的な使用方法を説明します。この章では、次のトピックにつ いて説明します。 ■ ご使用になる前に ■ コマンドの入力と実行 ■ 役立つ情報 この章を読むときは、コンピュータ上で、示されている例を実際に試してみてください。始 める前に、第1 章で説明したサンプル表へのアクセス権限があることを確認してください。

(26)

ご使用になる前に

ご使用になる前に

ご使用になる前に

ご使用になる前に

SQL*Plus を使用する前に、キーボード上の各キーの機能、SQL*Plus の起動および終了方法 を理解しておく必要があります。

キーボードの使用方法

キーボードの使用方法

キーボードの使用方法

キーボードの使用方法

SQL*Plus では、キーボード上のいくつかのキーに特別な機能があります。これらのキーを 表2-1「SQL*Plus の特殊キーとその機能」に示します。 ホスト・コンピュータで、一般的にキーボード上のどのキーが各機能を実行するかについて は、ご使用のオペレーティング・システム用のOracle インストレーション・ガイドおよび 管理者リファレンスを参照してください。 表2-1のそれぞれの空白には、SQL*Plus キーに対応するキーボード・キー名を記入してくだ さい。その後、ご使用のキーボード上で各キーの位置を確認してください。 注意 注意注意 注意 : 他の製品やオペレーティング・システムでSQL*Plus のキーを押す と、異なる機能が実行される場合があります。 表 表表 表 2-1 SQL*Plus の特殊キーとその機能の特殊キーとその機能の特殊キーとその機能の特殊キーとその機能 SQL*Plusキー名キー名キー名キー名 キーボード・キー名キーボード・キー名キーボード・キー名キーボード・キー名 機能機能機能機能 [Return] ___________ 行の入力を終了します。 [Backspace] ___________ エラーを訂正するため、カーソルを 1 文字左に移動します。 [Pause] ___________ プログラムの操作と出力の表示を中 断します。 [Resume] ___________ プログラムの操作と出力の[Pause] を再開します。 [Cancel] ___________ プログラムの操作を停止し、 SQL*Plus のコマンド・プロンプトに 戻ります。 [Interrupt] ___________ SQL*Plus を終了し、ホスト・オペ レーティング・システムに戻ります。

(27)

SQL*Plus

の起動

の起動

の起動

の起動

キーボード上の重要なキーを確認したところで、SQL*Plus を起動してみましょう。 例 例例 例 2-1 SQL*Plus の起動の起動の起動の起動 ここでは、SQL*Plus の起動方法を示します。次のステップに従ってください。 1. コンピュータ上にOracle がインストールされていることを確認します。 2. コンピュータの電源を(OFF の場合は)ON にし、(必要な場合は)ホスト・オペレー ティング・システムにログインします。すでにコンピュータを使用している場合は、ロ グオフやリセットの必要はありません。使用中のプログラムがあれば、終了します。 画面左側に1 文字以上の文字が表示されます。これはオペレーティング・システムのコ マンド・プロンプトで、オペレーティング・システムにコマンドを入力できる状態であ ることを示します。このマニュアルでは、オペレーティング・システム・プロンプトを ドル($)記号で表記します。ご使用のコンピュータのオペレーティング・システムの プロンプトは、これと異なる場合があります。

3. SQLPLUS コマンドを入力し、[Return] を押します。これは SQL*Plus を起動するオペ レーティング・システム・コマンドです。

$ SQLPLUS

次のように、バージョン番号、日付および著作権情報が表示され、ユーザー名の入力を 求めるプロンプトが表示されます(システム上に表示されるテキストは少し異なる場合 があります)。

SQL*Plus: Release 8.1.6 - on Mon Oct 5 09:39:26 1999 (c) Copyright 1999 Oracle Corporation.

All rights reserved. Enter user-name: 4. ユーザー名を入力して[Return] を押します。「パスワードを入力してください」という 旨のプロンプトが表示されます。 5. パスワードを入力し、再度[Return] を押します。ユーザーを保護するため、パスワード は画面に表示されません。 注意 注意注意 注意 : 一部のオペレーティング・システムでは、コマンドを小文字で入 力する必要があります。そのようなシステムをご使用の場合は、 SQLPLUS コマンドを小文字で入力してください。

(28)

ユーザー名とパスワードを入力するプロセスは、ログインと呼ばれます。接続先の Oracle のバージョンと、PL/SQL などの使用可能な Tools のバージョンが表示されま す。 続いて、次のようなSQL*Plus のコマンド・プロンプトが表示されます。 SQL> このコマンド・プロンプトは、SQL*Plus にコマンドを入力できる状態であることを示 します。 SQL*Plus が起動しない場合、何が問題になっているか解決するためのメッセージが表示さ れます。

SQL*Plus

を起動するためのショートカット

を起動するためのショートカット

を起動するためのショートカット

を起動するためのショートカット

SQL*Plus を起動するとき、SQLPLUS コマンドに続けてユーザー名とパスワードをスラッ シュ(/)で区切って入力できます。たとえば、ユーザー名が SCOTT でパスワードが TIGER の場合、 $ SQLPLUS SCOTT/TIGER と入力し、[Return] を押します。ホスト・オペレーティング・システムにログインすると き、自動的にSQL*Plus にログインするような設定もできます。詳細は、ご使用のオペレー ティング・システム用のOracle インストレーション・ガイドおよび管理者リファレンスを 参照してください。

SQL*Plus

の終了

の終了

の終了

の終了

SQL*Plus での作業が終了し、オペレーティング・システムに戻るときは、SQL*Plus のコマ ンド・プロンプトでEXIT コマンドを入力します。 例 例例 例 2-2 SQL*Plus の終了の終了の終了の終了

SQL*Plus を終了するには、SQL*Plus のコマンド・プロンプトで次のように EXIT コマンド を入力します。

SQL> EXIT

切断したOracle のバージョンと、SQL*Plus から使用可能な Tools のバージョンが表示され ます。しばらくすると、オペレーティング・システムのプロンプトが表示されます。 この章の先へ進む前に、例2-1 のステップ 3、4 および 5 に従って、再度 SQL*Plus を起動し てください。または、前述の「SQL*Plus を起動するためのショートカット」 で説明した ショートカットを使用してログインしてください。

(29)

コマンドの入力と実行

コマンドの入力と実行

コマンドの入力と実行

コマンドの入力と実行

コマンドの入力

コマンドの入力

コマンドの入力

コマンドの入力

コンピュータのカーソル(通常は、下線、長方形ブロックまたはスラッシュのポインタ)が コマンド・プロンプトの後に表示されます。このカーソルは、次に入力する文字が表示され る画面上の位置を示しています。 SQL*Plus に処理を指示するには、その処理に応じたコマンドをそのまま入力します。通常、 コマンド内の単語と単語を区切るには、空白かタブを使用します。コマンドを読みやすくす るために、単語と単語の間に空白またはタブを追加することもできます。 コマンドは、大文字または小文字で入力できます。このマニュアルでは、わかりやすくする ため、表名、列名およびコマンドをすべて大文字で表記しています。 コマンド・プロンプトでは、次の3 種類のコマンドを入力できます。 ■ データベース内の情報を処理するためのSQL コマンド ■ データベース内の情報を処理するためのPL/SQL ブロック ■ 問合せ結果の書式設定、オプションの設定、SQL コマンドと PL/SQL ブロックの編集お よび格納を行うためのSQL*Plus コマンド コマンドを次の行に続ける方法、コマンドの終了方法、コマンドの実行方法は、入力して実 行するコマンドのタイプによって異なります。次の各ページでは、それらのタイプのコマン ドを実行する例を示します。

ヘルプの表示

ヘルプの表示

ヘルプの表示

ヘルプの表示

SQL*Plus コマンドに関するオンライン・ヘルプを表示するには、コマンド・プロンプトで HELP と入力し、その後にコマンドの名前を入力します。次に例を示します。 SQL> HELP ACCEPT 注意 注意注意 注意 : 文字間隔やインデントの例は、このマニュアルの全編にわたって 示してあります。例にあるコマンドを入力する場合、空白はそのとおりに 入れなくてもかまいませんが、入れた方が読みやすくなります。

(30)

ヘルプが使用不可能という旨のメッセージが表示された場合は、データベース管理者に連絡 してください。ヘルプ・システムの詳細は、第8 章「コマンド・リファレンス」の「HELP」 コマンドを参照してください。

コマンドの実行

コマンドの実行

コマンドの実行

コマンドの実行

コマンドを入力して、SQL*Plus にそのコマンドを実行するように指示すると、SQL*Plus は そのコマンドを処理し、別のコマンドを入力できるようにコマンド・プロンプトを再表示し ます。

SQL

コマンドの実行

コマンドの実行

コマンドの実行

コマンドの実行

SQL コマンド言語を使用すると、データベース内のデータを操作できます。個々の SQL コ マンドの詳細は、『Oracle8i SQL リファレンス』を参照してください。 例 例例 例 2-3 SQL コマンドの入力コマンドの入力コマンドの入力コマンドの入力 この例では、SQL コマンドを入力して実行し、各従業員の従業員番号、名前、職種および給 与をサンプル表EMP に表示します。 1. コマンド・プロンプトで、コマンドの1 行目を次のように入力します。

SQL> SELECT EMPNO, ENAME, JOB, SAL

誤って入力した場合は、[Backspace] を使用して消去し、再度入力します。この行の入 力が終わったら、[Return] を押して次の行へ移動します。

2. 2 行目の入力を求める「2」が表示されます。コマンドの 2 行目を次のように入力しま す。

2 FROM EMP WHERE SAL < 2500;

セミコロン(;)は、コマンドの終わりを意味します。[Return] を押します。SQL*Plus はコマンドを処理し、結果を次のように画面に表示します。

EMPNO ENAME JOB SAL --- --- --- --- 7369 SMITH CLERK 800 7499 ALLEN SALESMAN 1600 7521 WARD SALESMAN 1250 7654 MARTIN SALESMAN 1250 7782 CLARK MANAGER 2450 7844 TURNER SALESMAN 1500 7876 ADAMS CLERK 1100 7900 JAMES CLERK 800 7934 MILLER CLERK 1300

(31)

9 rows selected. SQL> 結果と取り出した行数が表示された後、再びコマンド・プロンプトが表示されます。操 作を誤ったために前述の結果が得られなかった場合は、コマンドを再入力してくださ い。 ヘッダーは、PAGESIZE というシステム変数の設定に応じて、繰り返し出力される場合 があります。取り出したレコード件数に関するメッセージが表示されるかどうかは、 FEEDBACK というシステム変数の設定によって異なります。システム変数の詳細は、 この章の後半にある「コマンドの実行に影響する変数」で説明します。このマニュアル の残りの例では、選択されたレコードの数を示しません。

SQL

コマンドの構文について

コマンドの構文について

コマンドの構文について

コマンドの構文について

話し言葉に、単語を組み合せて文にする方法を規定した構文規則があるように、SQL*Plus にも、単語を組み合せてコマンドにする方法を規定した構文規則があります。SQL*Plus に コマンドを渡して実行させるためには、それらの規則に従う必要があります。 1つのつのつのつの SQL コマンドを別個の行に分割コマンドを別個の行に分割コマンドを別個の行に分割 SQL コマンドは、個々の単語を途中で改行するのでコマンドを別個の行に分割 なければ、任意の位置で別々の行に分割できます。したがって、例2-3 で入力した問合せは、 次のように1 行に入力できます。

SQL> SELECT EMPNO, ENAME, JOB, SAL FROM EMP WHERE SAL < 2500;

この問合せを次のように複数行に分けて入力することもできます。

SQL> SELECT

2 EMPNO, ENAME, JOB, SAL 3 FROM EMP 4 WHERE SAL < 2500; このマニュアルでは、ほとんどのSQL コマンドが句に分割されており、1 つの句が 1 行に なっています。たとえば、例2-3では、SELECT 句と FROM 句が別々の行に置かれていま す。多くの場合、これが最も見やすい方法ですが、コマンドを自分にとって最も読みやすく するためには、どのように行を分割してもかまいません。

(32)

SQLコマンドの終了コマンドの終了 SQL コマンドは、次に示す 3 つの方法のいずれかによって終了できまコマンドの終了コマンドの終了 す。 ■ セミコロン(;)を入力する ■ 1 行にスラッシュ(/)のみを 1 つ入力する ■ ブランク行を入力する セミコロン(;)は、コマンドを実行することを SQL*Plus に通知するために使用します。例 2-3に示すように、コマンドの最後の行の末尾にセミコロンを入力して[Return] を押します。 SQL*Plus は、コマンドを処理して SQL バッファに格納します(詳細は、後述の「SQL バッ ファ」を参照してください)。セミコロンを入力する前に誤って[Return] を押した場合は、 プロンプトに行番号が表示され、コマンドの続きの行を入力できます。コマンドを実行する には、セミコロンを入力して、再び[Return] を押します。 スラッシュ(/)のみの 1 行を使用することによっても、コマンドの実行を SQL*Plus に指示 することができます。コマンドの最終行の最後で[Return] を押します。プロンプトとして次 行の行番号が表示されます。スラッシュを入力し、再び[Return] を押します。SQL*Plus は、 コマンドを実行してバッファに格納します(詳細は、後述の「SQL バッファ」を参照してく ださい)。 空白行は、コマンドの入力は終了したが、そのコマンドをまだ実行しないことをSQL*Plus に伝えます。コマンドの最終行の最後で[Return] を押します。プロンプトとして次の行の行 番号が表示されます。

再び[Return] キーを押すと、SQL*Plus のコマンド・プロンプトが表示されます。SQL*Plus は、コマンドを実行せずにSQL バッファに格納します(詳細は、後述の「SQL バッファ」 を参照してください)。引き続き別のコマンドを入力すると、バッファ内にある前のコマン ドは上書きされます。 ストアド・プロシージャの作成 ストアド・プロシージャの作成ストアド・プロシージャの作成 ストアド・プロシージャの作成 ストアド・プロシージャは、PL/SQL のファンクション、 パッケージまたはプロシージャです。ストアド・プロシージャを作成するには、SQL の CREATE コマンドを使用します。ストアド・プロシージャの作成に使用する SQL の CREATE コマンドを次に示します。 ■ CREATE FUNCTION ■ CREATE LIBRARY ■ CREATE PACKAGE ■ CREATE PACKAGE BODY

注意 注意注意

注意 : 同じ行でセミコロンの後にコメント(/* */)を入力することはで きません。

(33)

■ CREATE PROCEDURE ■ CREATE TRIGGER ■ CREATE TYPE これらのいずれかのコマンドを入力すると、PL/SQL モードに入り、PL/SQL サブプログラ ムを入力できます。詳細は、この章の「PL/SQL ブロックの実行」を参照してください。 PL/SQL サブプログラムを入力し終わったら、PL/SQL モードを終了するため、1 行にピリ オド(.)のみを入力してください。SQL コマンドを実行してストアド・プロシージャを作 成するには、RUN またはスラッシュ(/)を入力する必要があります。セミコロン(;)で は、これらのCREATE コマンドを実行できません。 ストアド・プロシージャを作成するためにCREATE を使用する場合、コンパイル・エラー があるとメッセージが表示されます。それらのエラーを表示するには、SHOW ERRORS を 使用します。次に例を示します。

SQL> SHOW ERRORS PROCEDURE ASSIGNVL

SHOW コマンドの詳細は、第8 章「コマンド・リファレンス」を参照してください。 ストアド・プロシージャを参照するPL/SQL 文を実行するには、EXECUTE コマンドを使用 します。EXECUTE は、このコマンドの直後に入力された PL/SQL 文を実行します。次に例 を示します。

SQL> EXECUTE :ID := EMP_MANAGEMENT.GET_ID(’BLAKE’)

EXECUTE コマンドの詳細は、第8 章「コマンド・リファレンス」を参照してください。

SQL

バッファ

バッファ

バッファ

バッファ

入力した最新のSQL コマンドまたは PL/SQL ブロックが格納される領域は、SQL バッファ と呼ばれます。そのコマンドまたはブロックは、別のコマンドまたはブロックを入力するま で保持されます。したがって、現行のSQL コマンドまたは PL/SQL ブロックを編集または 再実行する場合、それらを再入力する必要はありません。バッファ内に格納されたコマンド やブロックの編集または再実行の詳細は、第3 章の「コマンド・ファイルの実行」を参照し てください。 SQL*Plus では、コマンドを実行するために入力したセミコロンまたはスラッシュは、SQL バッファに格納されません。 注意 注意注意 注意 : SQL*Plus コマンドは、SQL バッファに格納されません。

(34)

コマンド・プロンプトからの現行

コマンド・プロンプトからの現行

コマンド・プロンプトからの現行

コマンド・プロンプトからの現行 SQL コマンドまたは

コマンドまたは

コマンドまたは

コマンドまたは PL/SQL ブロック

ブロック

ブロック

ブロック

の実行

の実行

の実行

の実行

コマンド・プロンプトから、RUN コマンドまたは /(スラッシュ)コマンドを入力するこ とにより、現行のSQL コマンドまたは PL/SQL ブロックを実行(または再実行)できます。 RUN コマンドでは、コマンドまたはブロックを実行する前にバッファ内にある SQL コマン ドまたはPL/SQL ブロックのリストが表示されます。/(スラッシュ)コマンドは、SQL コ マンドまたはPL/SQL ブロックをそのまま実行します。

PL/SQL

ブロックの実行

ブロックの実行

ブロックの実行

ブロックの実行

データベース内のデータを操作するためにPL/SQL サブプログラム(ブロック)を使用する こともできます。個々のPL/SQL 文の詳細は、『Oracle8i PL/SQL ユーザーズ・ガイドおよ びリファレンス』を参照してください。 SQL*Plus に PL/SQL サブプログラムを入力するには、PL/SQL モードに入る必要がありま す。PL/SQL モードに入るには、次のようにします。

■ SQL*Plus コマンド・プロンプトで、DECLARE または BEGIN を入力します。この方法

でPL/SQL モードに入った後、残りの PL/SQL サブプログラムを入力します。 ■ ストアド・プロシージャを作成するSQL コマンド(たとえば、CREATE FUNCTION な ど)を入力します。この方法でPL/SQL モードに入った後、作成するストアド・プロ シージャを入力します。 SQL*Plus では、PL/SQL サブプログラムは SQL コマンドと同じ方法で処理されますが、セ ミコロン(;)または空白行でブロックを終了および実行することはできません。PL/SQL サ ブプログラムを終了するには、新しい行にピリオド(.)のみを入力します。 SQL*Plus では、SQL*Plus コマンド・プロンプトから入力したサブプログラムは、SQL バッ ファに格納されます。現行のサブプログラムを実行するには、RUN コマンドまたはスラッ シュ(/)を発行します。同様に、SQL の CREATE コマンドを実行してストアド・プロシー ジャを作成する場合にも、RUN またはスラッシュ(/)を入力する必要があります。それら のSQL コマンドは、他の SQL コマンドのようにセミコロン(;)で実行することはできませ ん。 SQL*Plus は、処理のために(SQL コマンドの場合と同様に)PL/SQL サブプログラム全体 をOracle へ送信します。詳細は、『Oracle8i PL/SQL ユーザーズ・ガイドおよびリファレン ス』を参照してください。 たとえば、次のようなPL/SQL サブプログラムを入力して実行できます。 SQL> DECLARE 2 x NUMBER := 100; 3 BEGIN 4 FOR i IN 1..10 LOOP

(35)

5 IF MOD (i, 2) = 0 THEN --i is even

6 INSERT INTO temp VALUES (i, x, 'i is even'); 7 ELSE

8 INSERT INTO temp VALUES (i, x, 'i is odd'); 9 END IF; 10 x := x + 100; 11 END LOOP; 12 END; 13 . SQL> / サブプログラムを実行したとき、サブプログラム内のSQL コマンドが、サブプログラムの 外部にある場合とは異なる処理をする場合があります。PL/SQL 言語の詳細は、『Oracle8i PL/SQL ユーザーズ・ガイドおよびリファレンス』を参照してください。

SQL*Plus

コマンドの実行

コマンドの実行

コマンドの実行

コマンドの実行

SQL*Plus コマンドを使用して、SQL コマンドと PL/SQL ブロックを操作し、問合せ結果の 書式を設定して出力することができます。SQL*Plus では、SQL*Plus コマンドは SQL コマ ンドやPL/SQL ブロックとは異なる扱いを受けます。個々の SQL*Plus コマンドの詳細は、 第8 章「コマンド・リファレンス」を参照してください。 コマンド入力を高速化するため、多数のSQL*Plus コマンドは、1 文字または数文字に省略 できます。一部のSQL*Plus コマンドの略称は、コマンドの説明とともに第 3 章、第 4 章お よび第6 章に記載されています。すべての SQL*Plus コマンドの略称については、第8 章 「コマンド・リファレンス」を参照してください。 例 例例 例 2-4 SQL*Plus コマンドの入力コマンドの入力コマンドの入力コマンドの入力

この例では、サンプル表EMP の SAL 列の表示に使用する書式を変更するために、SQL*Plus コマンドを入力する方法を示します。

1. コマンドラインで、SQL*Plus コマンドを入力します。

SQL> COLUMN SAL FORMAT $99,999 HEADING SALARY

誤って入力した場合は、[Backspace] を使用して消去し、再度入力します。この行の入 力が終わったら、[Return] を押します。SQL*Plus は新しい書式を認識し、SQL*Plus コ マンド・プロンプトを再び表示して新しいコマンドを入力できる状態になります。 2. 最新の(例2-3 からの)問合せを再実行するため、RUN コマンドを入力します。その問

(36)

SQL> RUN

1 SELECT EMPNO, ENAME, JOB, SAL 2* FROM EMP WHERE SAL < 2400

EMPNO ENAME JOB SALARY --- - ---7369 SMITH CLERK $800 7499 ALLEN SALESMAN $1,600 7521 WARD SALESMAN $1,250 7654 MARTIN SALESMAN $1,250 7844 TURNER SALESMAN $1,500 7876 ADAMS CLERK $1,100 7900 JAMES CLERK $800 7934 MILLER CLERK $1,300 COLUMN コマンドによって、SAL 列の書式がドル記号($)とカンマ(,)を使用して設定 され、新しいヘッダーが付けられました。その後、RUN コマンドによって、バッファ内に 格納されていた例2-3 の問合せが再実行されました。SQL*Plus では、SQL*Plus コマンドは SQL バッファに格納されません。

SQL*Plus

コマンドの構文について

コマンドの構文について

コマンドの構文について

コマンドの構文について

SQL*Plus コマンドの構文は、SQL コマンドまたは PL/SQL ブロックとは異なります。 長い 長い長い 長い SQL*Plus コマンドを追加行に継続する方法コマンドを追加行に継続する方法コマンドを追加行に継続する方法 長文の SQL*Plus コマンドは、行末にハイコマンドを追加行に継続する方法 フン(-)を付けて [Return] を押すと、次行に続けて入力できます。ハイフンの前に空白文 字を入力してもかまいません。右山カッコ(>)が個々の追加行のプロンプトとして表示さ れます。 次に例を示します。

SQL> COLUMN SAL FORMAT $99,999 -> HEADING SALARY SQL*Plus では、ハイフンを継続文字とみなすため、SQL 文内でハイフンを入力しても無視 されます。SQL*Plus は、入力処理によってその行が結合されハイフンが削除されるまで、 その文をSQL 文とはみなしません。たとえば、次のように入力するとエラーが返されます。 SQL> select 200 -> 100 from dual;

select 200 100 from dual *

ERROR at line 1:

(37)

文を正しく解釈させるには、最初の行の末尾から2 行目の先頭へハイフンを移動させます。 SQL*Plusコマンドの終了コマンドの終了コマンドの終了コマンドの終了 SQL*Plus コマンドは、必ずしもセミコロンで終了する必要はあり ません。コマンドの入力が終了したら、[Return] を押します。ただし、SQL*Plus コマンド の末尾にセミコロンを入力してもかまいません。

コマンドの実行に影響する変数

コマンドの実行に影響する変数

コマンドの実行に影響する変数

コマンドの実行に影響する変数

SQL*Plus の SET コマンドを使用して、システム変数と呼ばれる多数の変数を指定できます。 システム変数の設定は、SQL*Plus のコマンド実行方法に影響します。システム変数には、 出力のデフォルトの列幅、コマンドによって選択されたレコード数の表示の有無、ページ・ サイズなど、SQL*Plus 内の様々な条件を指定します。システム変数は、SET コマンド変数 とも呼ばれます。 このマニュアル内の例は、システム変数をデフォルトの設定にしてSQL*Plus を実行するこ とを前提としています。システム変数の設定によっては、記載されている例に示す出力とは 少し異なる出力が表示される場合があります(コンピュータ上にSQL*Plus の LOGIN ファ イルがある場合は、デフォルトの設定と異なる可能性があります)。 システム変数とそれらのデフォルト設定の詳細は、第8 章の「SET」コマンドを参照してく ださい。SQL*Plus の LOGIN ファイルの詳細は、第3 章の「後で使用するコマンドの保存」 の「SQL*Plus 環境の設定」、および第7 章のSQLPLUS コマンドを参照してください。 SET コマンド変数の現行の設定をリスト表示するには、コマンド・プロンプトで SHOW を 入力し、その後に変数名を入力します。SHOW を使用してリスト表示できるその他の項目 の詳細は、第8 章の「SHOW」コマンドを参照してください。

データベースへの変更の自動保存

データベースへの変更の自動保存

データベースへの変更の自動保存

データベースへの変更の自動保存

SQL の DML コマンドである UPDATE、INSERT および DELETE は、独立して使用するこ とも、PL/SQL ブロック内で使用することもできます。これらのコマンドで、データベース 内に格納されている情報に対して行う変更を指定できます。それらの変更は、SQL の COMMIT コマンド、DCL コマンドまたは DDL コマンド(CREATE TABLE など)を入力す るか、あるいは自動コミット機能を使用するまでは、確定されません。SQL*Plus の自動コ ミット機能は、指定した数のSQL DML トランザクションが成功した後に、保留中の変更を コミットします(SQL DML トランザクションとは、UPDATE、INSERT、DELETE のいず れかのコマンドか、 PL/SQL ブロックのことです)。

(38)

自動コミット機能は、SQL*Plus の SET コマンドの AUTOCOMMIT 変数で指定します。こ の変数には、次の4 つの形態があります。 例 例例 例 2-5 自動コミット機能を自動コミット機能を自動コミット機能を自動コミット機能を ON にする方法にする方法にする方法にする方法 自動コミット機能をON にするには、次のように入力します。 SQL> SET AUTOCOMMIT ON または、次のように入力して自動コミット機能をON にすることもできます。

SQL> SET AUTOCOMMIT IMMEDIATE

AUTOCOMMIT の設定を変更するまでは、データベースの変更を指定する SQL の各 DML コマンドからの変更を、SQL*Plus が自動的にコミットします。SQL*Plus は、1 回自動コ ミットするたびに次のメッセージを表示します。 commit complete 自動コミット機能をON にした場合は、データベースへの変更をロールバックできません。 SQL の DML コマンドを、一定の数(10 個など)実行した後にデータベースへの変更をコ ミットする場合は、次のように入力します。 SQL> SET AUTOCOMMIT 10 SQL*Plus は、SQL の DML コマンドを実行するたびにカウントし、10 個目の SQL DML コ マンドの後に変更をコミットします。 自動コミット機能を再びOFF にするには、次のコマンドを入力します。

SQL> SET AUTOCOMMIT OFF

SET AUTOCOMMIT ON 自動コミット機能をON にする。

SET AUTOCOMMIT OFF 自動コミット機能をOFF にする(デフォルト)。

SET AUTOCOMMIT n n 個の SQL の DML コマンドまたは PL/SQL ブロックの

後に変更をコミットする。

SET AUTOCOMMIT IMMEDIATE 自動コミット機能をON にする。

注意 注意注意

注意 : この機能では、ブロックに入っている実際のSQL コマンドの数に は関係なく、1 つの PL/SQL ブロックが 1 つのトランザクションとみなさ れます。

図 図 図
Table created.

参照

関連したドキュメント

【CSV ファイルをメモ帳で確認】 CSV ファイルを確認・編集するときは、テキストエディタで確認するとよいと聞きました。

フランツ・カフカ(FranzKafka)の作品の会話には「お見通し」発言

spread takes small values for fast time varying pole. p osition, and large values for slow time

対応可能です。 1台のDMP 64 Plus ATモデルは、ネットワーク経由

 内部形態:小葉の横切面(Fig.1-B, C)はほぼ直線状で,主脈部上面は通常平坦,まれにわずかに突出あるいは埋

Microsoft/Windows/SQL Server は、米国 Microsoft Corporation の、米国およびその

ダウンロードファイルは Excel 形式、CSV

各情報システムでは, Oracle , MySQL , PostgreSQL , Microsoft SQL Server , SQLite