本文 PDF[376KB]

はじめに
■コース概要と目的
データベース処理に使用する SQL の基本構文と使用方法について説明します。
■受講対象者
SQL を使用してアプリケーション開発される方、管理者となられる方。
■前提条件
「Oracle 概要」コースを受講された方、もしくは同等の知識をお持ちの方。
■テキスト内の記述について
▼構文
[
]
省略可能
{ A | B }
A または B のどちらかを選択
n
数値の指定
_
デフォルト値
▼マーク
指定バージョンからの新機能
(左記の場合、Oracle 12cR1 からの新機能)
知っておいたほうが良いテクニック、もしくは注意事項
参照ページ
データ・ディクショナリ・ビュー
CONTENTS
第1章 概要
1.リレーショナル・データベースの特徴----------------
1-1
2.SQL の特徴と分類----------------------------------
1-3
3.SQL コマンドの構文規則----------------------------
1-7
第2章 問合せの基本操作
1.問合せとは----------------------------------------
2-1
2.基本的な問合せ------------------------------------
2-3
3.列の別名------------------------------------------
2-7
4.重複行を一意にする--------------------------------
2-9
5.検索行の絞込み------------------------------------
2-13
6.文字パターンでの検索------------------------------
2-29
7.検索結果の順序制御--------------------------------
2-35
8.行のグループ分け----------------------------------
2-45
9.問合せの基本操作のまとめ--------------------------
2-51
10.関数(SQL ファンクション)------------------------
2-53
第3章 問合せの応用操作
1.副問合せ------------------------------------------
3-1
2.インライン・ビュー--------------------------------
3-13
3.集合演算------------------------------------------
3-17
4.表の結合(ジョイン)------------------------------
3-21
CONTENTS
第4章 DML の基本操作
1.DML とは--------------------------------------------
4-1
2.行の挿入(INSERT)---------------------------------
4-3
3.既存列値の更新(UPDATE)---------------------------
4-7
4.行の削除(DELETE)---------------------------------
4-11
第5章 トランザクション制御
1.トランザクション-----------------------------------
5-1
2.変更内容の適用-------------------------------------
5-5
3.変更内容の取消し-----------------------------------
5-7
4.同時実行制御---------------------------------------
5-9
第6章 DDL の基本操作
1.DDL とは--------------------------------------------
6-1
2.表の作成-------------------------------------------
6-3
3.整合性制約-----------------------------------------
6-13
4.整合性制約定義の変更-------------------------------
6-27
5.列定義の変更---------------------------------------
6-33
6.列名、制約名の変更---------------------------------
6-35
7.列の追加-------------------------------------------
6-37
8.列の削除-------------------------------------------
6-39
9.読取り専用の表-------------------------------------
6-41
10.ビューの作成---------------------------------------
6-43
11.表名、ビュー名の変更-------------------------------
6-49
12.表の削除-------------------------------------------
6-51
13.ビューの削除---------------------------------------
6-53
14.オブジェクト権限の付与と取消し---------------------
6-55
CONTENTS
付録
1.書式モデル---------------------------------------
付-1
2.演算子-------------------------------------------
付-7
3.予約語-------------------------------------------
付-9
4.主な関数(SQL ファンクション)-------------------
付-11
5.DUAL 表------------------------------------------
付-33
6.データ・ディクショナリ・ビュー-------------------
付-35
7.相関副問合せ-------------------------------------
付-41
8.クロス結合---------------------------------------
付-47
9.VARCHAR2 型と CHAR 型の違い-----------------------
付-49
10.MERGE 文-----------------------------------------
付-51
11.列順序の変更-------------------------------------
付-55
12.FLASHBACK DROP-----------------------------------
付-57
13.分析関数を使用した問合せ結果の行数制限-----------
付-59
14.ROWNUM 疑似列を使用した問合せ結果の行数制限------
付-63
15.トランザクションのセーブポイント(SAVEPOINT)----
付-65
16.行の切り捨て(TRUNCATE)-------------------------
付-67
17.仮想列-------------------------------------------
付-69
18.行アーカイブ-------------------------------------
付-71
19.列の非表示---------------------------------------
付-75
20.シノニム-----------------------------------------
付-79
21.順序(シーケンス)-------------------------------
付-81
22.Oracle と標準 SQL---------------------------------
付-87
第2章
問合せの基本操作
この章では、データベースから情報を検索する際に使用する SELECT コマンド、および SELECT コマンドと
同時に使用する句について説明します。
1. 問合せとは
2. 基本的な問合せ
3.列の別名
4. 重複行を一意にする
5. 検索行の絞込み
6. 文字パターンでの検索 7. 検索結果の順序制御
8. 行のグループ分け
9. 問合せの基本操作のまとめ
10. 関数(SQL ファンクション)
第 2 章「問合せの基本操作」
1. 問合せとは
問合せとは、データベース内の表などからデータを検索することです。例えば、ユーザーが 社員や部門などの
データ検索をする場合に使用します。
(1) SELECT 文
問合せは、SELECT 文を使用して行います。
<代表的な SELECT 処理>
・列の指定 (2-3)
・行の絞込み (WHERE 句:2-13)
・あいまい検索 (LIKE:2-29)
・並び替え (ORDER BY 句:2-35)
・グループ化 (GROUP BY 句:2-45)
・副問合せ (3-1)
・集合演算処理 (3-17)
・結合 (3-21)
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-1
第 2 章「問合せの基本操作」
■問合せ処理の例
データベース
EMP表
EMPNO
7369
7499
・
7902
7934
DEPT表
・・・
・・・
・・・
・・・
・・・
・・・
DEPTNO
20
30
・
20
10
DEPTNO
10
20
30
40
DNAME
ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
NEW YORK
DALLAS
CHICAGO
BOSTON
SELECT(問合せ)
検索結果
<検索結果>
①列の指定
(EMP表からEMPNO列、ENAME列だけを検索)
EMPNO
7369
7499
・
・
7902
7934
②行の絞込み
(EMP表からEMPNO列が7369の行だけを検索)
ENAME
SMITH
ALLEN
・
・
FORD
MILLER
EMPNO
7369
③並び替え
(EMP表のデータをSAL列の値が大きい順に表示)
EMPNO
7902
7499
・
・
7934
7369
・・・
・・・
・・・
・・・
・・・
・・・
・・・
SAL
3000
1600
・
・
1300
800
ENAME
SMITH
ALLEN
・
・
MILLER
2-2
DEPTNO
20
④結合
(複数表から関連データを検索)
DEPTNO
20
30
・
・
10
Copyright(C) K.K. Ashisuto All Rights Reserved.
・・・
・・・
DNAME
RESEARCH
SALES
・
・
ACCOUNTING
株式会社アシスト
第 2 章「問合せの基本操作」
2. 基本的な問合せ
データベース内の表からデータを問合せます。
(1) 列の指定
列名と表名を指定し、データを問合せます。
SELECT [ 列名 [ , 列名 ・・・ ] | * ]
FROM 表名
列名
表示する列名を指定します。
※複数の列を指定する場合、列名と列名の間を「,」(カンマ)で区切ります。
※全ての列名を指定する代わりに「*」(アスタリスク)を記述できます。
表名
データを問合せる表名を指定します。
■注意事項
表示される列の順番は、列の指定方法によって決まります。
・列名を指定
指定した列の順番で結果を表示。
・「*」を指定
表作成時に定義した列の順番で結果を表示。
特定列を選択して実行する問合せ操作は、「射影」とも呼ばれています。
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-3
第 2 章「問合せの基本操作」
■単一列の指定
例)会社の部門名(DNAME)を全て表示する。
SQL> SELECT dname
2 FROM
dept;
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
■複数列の指定
例)会社の部門に関する全データを表示する。
/* DNAME 列、LOC 列、DEPTNO 列の順番に指定 */
SQL> SELECT dname,loc,deptno
2 FROM
dept;
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
DEPTNO
------------- ---------NEW YORK
10
DALLAS
20
CHICAGO
30
BOSTON
40
/* LOC 列、DEPTNO 列、DNAME 列の順番に指定 */
SQL> SELECT loc,deptno,dname
2 FROM
dept;
LOC
DEPTNO DNAME
------------- ---------- -------------NEW YORK
10 ACCOUNTING
DALLAS
20 RESEARCH
CHICAGO
30 SALES
BOSTON
40 OPERATIONS
※列名を指定した場合は、SELECT で指定した列の順番で結果を表示します。
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-4
株式会社アシスト
第 2 章「問合せの基本操作」
■「*」の指定
例)会社の部門に関する全データを表示する。
SQL> SELECT *
2 FROM
dept;
DEPTNO
---------10
20
30
40
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
※「*」を指定した場合は、表作成時に定義した列の順番で検索結果を表示します。
■表構成の確認
表作成時に定義した列の順番は、SQL*Plus コマンドの DESCRIBE で確認できます。
例)DEPT 表の表構成を確認する。
SQL> DESCRIBE dept
名前
NULL?
----------------------------------------- -------DEPTNO
NOT NULL
DNAME
LOC
型
---------------------------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)
別冊「 SQL*Plus コマンド・リファレンス」( 2-11 )
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-5
第 2 章「問合せの基本操作」
(2) 式の指定
SELECT 文では、算術演算子を使用して、加減乗除の計算を行うことができます。特定の数値列を算術式に含
めることで、列の値にもとづいた計算結果を表示できます。
「算術演算子」(付 -7 )
例)社員の給与(SAL)と年収(SAL*12)を表示する。
SQL> SELECT ename,sal,sal*12
2 FROM
emp;
ENAME
SAL
SAL*12
---------- ---------- ---------SMITH
800
9600
ALLEN
1600
19200
WARD
1250
15000
JONES
2975
35700
MARTIN
1250
15000
BLAKE
2850
34200
CLARK
2450
29400
SCOTT
3000
36000
KING
5000
60000
TURNER
1500
18000
ADAMS
1100
13200
JAMES
950
11400
FORD
3000
36000
MILLER
1300
15600
(SAL*12の計算結果を表示する)
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-6
株式会社アシスト
第 2 章「問合せの基本操作」
3. 列の別名
AS キーワードを使用すると、その処理において一時的に列に別名を定義できます。列名が わかりにくい場合など
に便利です。
※データベース内の列名を永続的に変更しているわけではありません。
SELECT 列名 AS 別名 [ , 列名 ・・・ ]
FROM 表名
AS
直前で指定した列の別名を指定します。
■注意事項
・別名が英字の場合は大文字として表示されます。別名に英字の大文字と小文字を区別させる、もしくは空白
を認識させる場合には、別名を「"」(二重引用符)で囲みます。
・AS キーワードを使用せずに空白を使用しても、別名を定義できます。しかし、列名と別名の区別がしにくい
ため、AS キーワードを使用することをお薦めします。
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-7
第 2 章「問合せの基本操作」
例)DNAME の列名を DEPARTMENT と変えて、部門と部門番号を表示する。
SQL> SELECT deptno,dname AS department
2 FROM
dept;
DEPTNO
---------10
20
30
40
DEPARTMENT
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
(ASキーワードを指定したDNAME列のみ変更)
例)社員の名前、給与、年収を表示する。 ただし、給与(SAL)に Monthly Salary、年収(SAL*12)に
Annual Income とそれぞれ別名を付ける。
SQL> SELECT ename,sal AS "Monthly Salary",
2
sal*12 AS "Annual Income"
3 FROM
emp;
ENAME
Monthly Salary Annual Income
---------- -------------- ------------SMITH
800
9600
ALLEN
1600
19200
WARD
1250
15000
JONES
2975
35700
MARTIN
1250
15000
BLAKE
2850
34200
CLARK
2450
29400
SCOTT
3000
36000
KING
5000
60000
TURNER
1500
18000
ADAMS
1100
13200
JAMES
950
11400
FORD
3000
36000
MILLER
1300
15600
(大文字、小文字、空白を認識)
例)LOC 列の列名を LOCATION と変えて表示する(AS キーワードを使用しない)。
SQL> SELECT loc location FROM dept;
(空白で別名を指定すると、
列名と別名の区別がしにくい)
LOCATION
------------NEW YORK
DALLAS
CHICAGO
BOSTON
Copyright(C) K.K. Ashisuto All Rights Reserved.
2-8
株式会社アシスト
索引
索引
記号
C
_、2-29
!=、2-24、2-27、付-7
(+)、3-29、付-8
*、2-3、付-8
%、2-29
^=、2-27、付-7
<>、2-27、付-7
||、付-8
CEIL 関数、付-11
CHAR、6-5、付ー 49
CHECK 制約、6-19
CLOB、6-7
COALESCE 関数、2-66
COMMIT、5-2、5-5
CONCAT 関数、付-21
CONSH 関数、付-15
CONSTRAINT、6-15
COS 関数、付-14
COUNT 関数、2-45、付-27
CREATE OR REPLACE VIEW、6-45
CREATE SEQUENCE、付-81
CREATE SYNONYM、付-79
CREATE TABLE、6-9
CREATE TABLE ・・・ AS 問合せ文、6-11
CURRVAL、付-81
A
ABS 関数、付-11
ADD_MONTHS 関数、2-56
ALL、3-7、付-7、付-8
ALTER TABLE ・・・ ADD、6-37
ALTER TABLE ・・・ ADD CONSTRAINT、6-27
ALTER TABLE ・・・ DISABLE CONSTRAINT、6-31
ALTER TABLE ・・・ DROP COLUMN、6-39
ALTER TABLE ・・・ DROP CONSTRAINT、6-29
ALTER TABLE ・・・ ENABLE CONSTRAINT、6-31
ALTER TABLE ・・・ MODIFY、6-33
ALTER TABLE ・・・ READ ONLY、6-41
ALTER TABLE ・・・ READ WRITE、6-41
ALTER TABLE ・・・ RENAME COLUMN、6-35
ALTER TABLE ・・・ RENAME CONSTRAINT、6-35
AND、2-16、2-27、3-10、付-8
ANY、3-7、付-7
AS、2-7
ASC、2-35
ASCII 関数、付-21
AVG 関数、2-45、付-26
B
BETWEEN a AND b、2-25、2-27、付-7
BLOB、6-7
D
DATE、6-7
DDL、1-4、6-1
DECODE 関数、2-65
DELETE、4-11
DELETE FROM ・・・ 問合せ文、4-11
DENSE_RANK 関数、付ー 60
DESC、2-35
DESCRIBE、2-5
DISTINCT、2-9、付-8
DML、1-4、4-1
DROP TABLE、6-51
DROP VIEW、6-53
DUAL 表、付-33
DUMP 関数、付-29
E
EXISTS、付-7
EXP 関数、付-12
F
FETCH FIRST m ROWS ONLY、2-41
FLASHBACK DROP、付ー 57
FLOOR 関数、付-12
FOR UPDATE、5-11
FOREIGN KEY 制約、6-21
Copyright(C) K.K. Ashisuto All Rights Reserved.
株式会社アシスト
索引-1
索引
G
N
GRANT、6-57
GREATEST 関数、付-29
GROUP BY、2-45
NCLOB、6-7
NEW_TIME 関数、付-17
NEXT_DAY 関数、付-18
NEXTVAL、付-81
NOT、2-24、2-27、付-8
NOT BETWEEN a AND b、2-26
NOT IN、2-24
NOT NULL 制約、6-15
NULL、2-17
NULLIF 関数、2-65
NULLS FIRST、2-37
NULLS LAST、2-37
NUMBER、6-6
NVL 関数、2-21、付-30
I
ID 列、付-83
IN、2-23、2-27、3-4、付-7
INITCAP 関数、2-62
INSERT、4-3
INSERT INTO 問合せ文、4-5
INSTRB 関数、2-64
INSTR 関数、2-64
INTERSECT、3-17
IS NOT NULL、2-18、2-27、付-7
IS NULL、2-18、2-27、付-7
L
LAST_DAY 関数、付-16
LEAST 関数、付-30
LENGTHB 関数、2-63
LENGTH 関数、2-63
LIKE、2-27、2-29、2-29、付-7
LN 関数、付-12
LOCALTIMESTAMP 関数、付-16
LOG 関数、付-13
LOWER 関数、2-61
LPAD 関数、付-22
LTRIM 関数、付-23
M
MAX 関数、2-45、付-27
MERGE、付ー 51
MINUS、3-17
MIN 関数、2-45、付-28
MOD 関数、付-13
MONTHS_BETWEEN 関数、付-18
株式会社アシスト
O
OFFSET n ROWS、2-41
ON DELETE CASCADE、6-23
ON DELETE SET NULL、6-23
OR、2-16、2-27、3-10、付-8
ORDER BY、2-35
P
POWER 関数、付-13
PRIMARY KEY 制約、6-17
R
RANK 関数、付ー 59
REFERENCES、6-23
RENAME、6-49
REPLACE 関数、付-25
REVOKE、6-57
ROLLBACK、5-2、5-7
ROUND 関数、2-55
ROW_NUMBER 関数、付ー 61
ROWNUM 疑似列、付ー 63
RPAD 関数、付-22
RTRIM 関数、付-23
Copyright(C) K.K. Ashisuto All Rights Reserved.
索引-2
索引
S
V
SAVEPOINT、付ー 65
SELECT、2-1
SIGN 関数、付-14
SINH 関数、付-15
SIN 関数、付-14
SOME、付-7
SOUNDEX 関数、付-25
SQL、1-3
SQL*Plus、1-5
SQRT 関数、付-15
SUBSTRB 関数、2-62
SUBSTR 関数、2-62
SUM 関数、2-45、付-28
SYSDATE 関数、2-56
SYSTIMESTAMP 関数、付-18
VARCHAR2、6-5、付ー 49
VSIZE 関数、付-32
T
お
TANH 関数、付-15
TAN 関数、付-14
TIMESTAMP、6-7
TO_CHAR 関数、2-57
TO_DATE 関数、2-59
TO_NUMBER 関数、付-20
TO_TIMESTAMP 関数、付-19
TRANSLATE 関数、付-25
TRIM 関数、付-24
TRUNCATE、付ー 67
TRUNC 関数、2-55
オブジェクト権限、6-55
U
UID 関数、付-31
UNION、3-17
UNION ALL、3-17
UNIQUE KEY 制約、6-15
UPDATE、4-7
UPDATE ・・・ 問合せ文、4-9
UPPER 関数、2-61
USER_CONS_COLUMNS ビュー、付-38
USER_CONSTRAINTS ビュー、付-38
USER_OBJECTS ビュー、付-35
USER_TAB_COLS ビュー、付-36
USER_TAB_IDENTITY_COLS ビュー、付-39
USER_TAB_PRIVS ビュー、付-39
USER_TABLES ビュー、付-36
USER_VIEWS ビュー、付-37
USERENV 関数、付-32
USER 関数、付-31
W
WHERE、2-13
WITH CHECK OPTION、6-45
い
インライン・ビュー、3-13、付ー 63
一意キー制約、6-15
え
エスケープ文字、2-29
演算子、付-7
か
カラム、1-1
仮想列、付ー 69
外部キー制約、6-21
外部結合、3-29、3-39
関数、2-53、付-11
き
行、1-1
行アーカイブ、付ー 71
く
クロス結合、付-47
け
結合、1-2、3-21
こ
コミット、5-5
さ
参照整合性制約、6-21
Copyright(C) K.K. Ashisuto All Rights Reserved.
株式会社アシスト
索引-3
索引
し
ひ
シノニム、付-79
ジョイン、1-2
ジョイン、3-21
シーケンス、付-81
自己結合、3-27、3-37
自然結合、3-38
射影、2-3
主キー制約、6-17
集合演算、3-17
順序、付-81
書式モデル、付-1
ビュー、6-43
日付データ型、6-7
日付書式モデル、付-3
非等価結合、3-25、3-37
表制約構文、6-25
す
スキーマ、6-55
数値データ型、6-6
数値書式モデル、付-1
せ
セーブポイント、付ー 65
整合性制約、6-13
選択、2-13
そ
相関副問合せ、付-41
ち
チェック制約、6-19
て
デッドロック、5-15
データ・ディクショナリ・ビュー、付-35
データベース・オブジェクト、6-55
データ型、6-5
データ操作、1-4
データ定義、1-4
と
トランザクション、5-1
トランザクション制御、1-4
問合せ、1-4、2-1
ふ
副問合せ、3-1
複合キー制約、6-25
分析関数、付ー 59
め
命名規則、6-4
も
文字データ型、6-5
文字パターン、2-29
よ
読取り一貫性、5-17
予約語、付-9
ら
ラージ・オブジェクト・データ型、6-7
れ
レコード、1-1
列、1-1
列の非表示、付-75
列の別名、2-7
列指定、4-5
列制約構文、6-25
列無指定、4-3
ろ
ロック、5-9
ロー、1-1
ロールバック、5-7
等価結合、3-23、3-36
な
内部結合、3-23、3-35
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
索引-4
SQLトレーニング(12cR1対応版) 第1版 2015年1月1日
本テキストで使用されるメーカ名、商品名は各社の商標または登録商標です。当社の文書による許可なしに、
本誌の一部または全部を複製することはお断りします。
また、本誌に記載された内容については、予告なしに変更することがありますので、予めご了承下さい。
株式会社アシストは、本書および本書に付属する資料についてその記載内容に誤りがないこと、および特定目的
に対する適合性に関するいっさいの保証を行うものではありません。
また、本資料を使用したことによって被った直接的・間接的な損害などについて、いかなる場合においても責任
を負いかねます。
発売元 株式会社
株式会社アシストは、日本オラクル
株式会社の代理店です。
CONTENTS
第1章 SQL*Plus 概要
1.SQL*Plus 概要--------------------------------------
1-1
2.SQL*Plus の起動、停止-------------------------------
1-3
第2章 SQL*Plus コマンド
1.SQL*Plus コマンドの基本----------------------------
2-1
2.ファイル出力---------------------------------------
2-21
3.出力結果の制御-------------------------------------
2-27
4.その他のコマンド-----------------------------------
2-31
第3章 システム変数
1.SQL*Plus の環境設定--------------------------------
3-1
2.ファイル出力の制御ー-------------------------------
3-5
3.出力結果の制御-------------------------------------
3-9
4.トランザクション制御-------------------------------
3-25
5.その他のシステム変数-------------------------------
3-31
第 4 章 SQL*Plus 環境設定ファイル
1.SQL*Plus 環境設定ファイル--------------------------
4-1
主な SQL*Plus コマンド、システム変数一覧
■SQL*Plus コマンド
コマンド
説明
ページ
ACCEPT
変数入力
2-31
CHANGE,APPEND,INPUT,LIST,DEL,/,RUN
SQL バッファ内操作
2-5
CLEAR
画面、SQL バッファをクリア
2-18
COLUMN
列制御
2-27
CONNECT
データベースへ接続
2-1
DEFINE
変数定義
2-31
DESCRIBE
表定義表示
2-11
DISCONNECT
データベースからの切断
2-2
EDIT
外部エディタの使用
2-13
EXIT,QUIT
SQL*Plus の終了
2-4
HELP,?
ヘルプの表示
2-3
HOST
OS コマンドの実行
2-12
PASSWORD
パスワード変更
2-38
PROMPT
メッセージを表示
2-37
REMARK
コメント
2-14
REPFOOTER
フッターに文字付加
2-30
REPHEADER
ヘッダーに文字付加
2-29
SAVE
SQL バッファをファイルに格納
2-21
SET
システム変数を設定
2-19
SHOW
SQL*Plus の設定表示
2-20
SPOOL
一連の処理をファイルに出力
2-23
STORE
SQL 環境情報をファイルへ出力
2-25
UNDIFINE
置換変数を削除
2-35
WHENEVER SQLERROR
SQL エラー制御
2-39
@,START
スクリプトの実行
2-17
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
■システム変数
コマンド
説明
ページ
AUTOCOMMIT
SQL 文単位の自動コミット
3-25
COLINVISIBLE
非表示列を表示する
3-37
COLSEP
列ヘッダー間に文字付加
3-7
ECHO
スクリプト内容の制御
3-31
ESCAPE
置換文字をエスケープ
3-33
EXITCOMMIT
EXIT 時のトランザクション制御
3-27
FEEDBACK
メッセージ制御
3-9
HEADING
列ヘッダー制御
3-21
LINESIZE
1 行に表示する文字制御
3-13
NULL
NULL を別の値に変更
3-15
NUMFORMAT
NUMBER 型列の制御
3-17
NUMWIDTH
NUMBER 型列幅の変更
3-18
PAGESIZE
1 ページのサイズ制御
3-19
PAUSE
結果の一時停止
3-35
SQLPROMPT
プロンプトの変更
3-2
TERMOUT
出力表示の制御
3-32
TIME
時間表示
3-3
TIMING
処理の時間計測
3-4
TRIMSPOOL
SPOOL コマンド使用時の空白削除
3-5
UNDERLINE
列ヘッダーの下線制御
3-23
Copyright(C) K.K. Ashisuto All Rights Reserved.
株式会社アシスト
逆引きコマンドリファレンス
要望から確認するコマンド一覧
説明
コマンド
ページ
SQL*Plus コマンドのヘルプを表示する
HELP,?
2-3
SQL*Plus を終了する
EXIT、QUIT
2-4
SQL バッファの操作をマスターする
LIST,APPEND,CHANGE,INPUT,DEL,/,RUN
2-5
実行した SQL をファイルに保存する
SAVE
2-21
作成したスクリプトを実行する
@,START
2-17
SQL*Plus で変数を使用する
ACCEPT,DEFINE
2-31
出力された結果のヘッダーやフッターに文字を入れる
REPFOOTER,REPHEADER
2-30
画面をクリアする
CLEAR
2-18
結果を見やすいように列幅を変更する
COLUMN
2-27
データベースへログインする
CONNECT
2-1
データベースから切断する
DISCONNECT
2-2
SQL*Plus から OS コマンドを実行する
HOST
2-12
現行ユーザーのパスワードを変更する
PASSWORD
2-38
コメントを記述する
REMARK
2-14
現在の SQL*Plus の設定を表示する
SHOW
2-20
作業内容をファイルに出力する
SPOOL
2-23
現在の SQL*Plus 設定をファイルに出力する
STORE
2-25
SQL にエラーがあったら自動で SQL*Plus を終了する
WHENEVER SQLERROR
2-39
検索結果を csv(カンマ区切り)にする
COLSEP
3-7
スクリプトの実行内容を表示する
ECHO
3-31
スクリプト実行時のコマンドによる表示を非表示にする
TERMOUT
3-32
置換文字として設定した文字をデータとして認識させる
ESCAPE
3-33
置換変数を削除
UNDIFINE
2-35
ファイルをエディタで開く
EDIT
2-13
「n 行選択されました」のメッセージを制御する
FEEDBACK
3-9
列ヘッダーの表示を制御する
HEADING
3-21
1行に表示できる文字数を制御する
LINESIZE
3-13
NULL を空白ではなく違う値で表示する
NULL
3-15
株式会社アシスト
Copyright(C) K.K. Ashisuto All Rights Reserved.
説明
コマンド
ページ
数値データのデフォルト書式を設定する
NUMFORMAT
3-17
数値データのデフォルトの幅を拡大する
NUMWIDTH
3-18
ページに表示する行数を制御する
PAGESIZE
3-19
結果表示を一時停止する
PAUSE
3-35
「SQL>」プロンプトを変更する
SQLPROMPT
3-2
現在時刻を確認しながら SQL*Plus を使用する
TIME
3-3
SQL の処理にどのくらいかかるのか時間を計測する
TIMING
3-4
SPOOL する時に余分な空白を排除する
TRIMSPOOL
3-5
列ヘッダーの下線を制御する
UNDERLINE
3-23
非表示列を表示する
COLINVISIBLE
3-37
メッセージを表示する
PROMPT
2-37
SQL 文単位の自動コミットをする
AUTOCOMMIT
3-25
EXIT 時にトランザクション制御の設定をする
EXITCOMMIT
3-27
SQL*Plus の環境設定を永続的なものする
glogin.sql,login.sql
4-1
Copyright(C) K.K. Ashisuto All Rights Reserved.
株式会社アシスト
第2章
SQL*Plus コマンド
1. SQL*Plus コマンドの基本
2. ファイル出力
3.出力結果の制御
4.その他のコマンド
第 2 章「SQL*Plus コマンド」
1. SQL*Plus コマンドの基本
(1) データベースへの接続( CONNECT コマンド )
データベースへ接続します。既に接続している場合、現行のデータベースから切断した後で、指定された
ユーザー名で再接続します。
CONN[ECT] [ ユーザー名 [ / パスワード ] [ @接続識別子 ] ]
ユーザー名
データベースへ接続可能なユーザー名を指定します。
パスワード
接続ユーザーに設定されているパスワードを指定します。
@接続識別子
リモートデータベースへ接続する時に指定します。
※無効なユーザー名・パスワードを使用した場合、データベースから切断されます。
例)CONNECT コマンドを使用してデータベースに接続する。
/* ユーザー名・パスワードを指定せずに CONNECT コマンドを実行、SCOTT ユーザーで接続 */
SQL> CONNECT
ユーザー名を入力してください: scott
パスワードを入力してください:
接続されました。
/* ユーザー名のみを指定して CONNECT コマンドを実行、SCOTT ユーザーで接続 */
SQL> CONNECT scott
パスワードを入力してください:
接続されました。
/* 現行のユーザー名を確認 */
SQL> SHOW USER
ユーザーは"SCOTT"です。
/* ユーザー名・パスワードを指定して CONNECT コマンドを実行、SYSTEM ユーザーで再接続 */
SQL> CONNECT system/パスワード
接続されました。
/* 再接続後のユーザー名を確認 */
SQL> SHOW USER
ユーザーは"SYSTEM"です。
「 SHOW コマンド」( 2-20 )
株式会社アシスト
2-1
Copyright(C) K.K. Ashisuto All Rights Reserved.
第 2 章「SQL*Plus コマンド」
(2) データベースからの切断( DISCONNECT コマンド )
データベースから切断します。SQL*Plus は終了せずに起動したままの状態です。
※EXIT コマンドはデータベースから切断して SQL*Plus を終了します。
「 EXIT コマンド」( 2-4 )
DISCONNECT
例)データベースへ接続した後、切断する。
/* データベースへの接続 */
SQL> CONNECT scott/パスワード
/* SQL の実行結果を表示 */
SQL> SELECT * FROM dept;
DEPTNO
---------10
20
30
40
DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS
LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON
/* データベースからの切断 */
SQL> DISCONNECT
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options との接続
が切断されました。
/* SQL を実行するがデータベースに接続していないためエラー */
SQL> SELECT * FROM dept;
SP2-0640: 接続されていません。
Copyright(C) K.K. Ashisuto All Rights Reserved.
株式会社アシスト
2-2
第 2 章「SQL*Plus コマンド」
(3) ヘルプを表示する( HELP コマンド・?(疑問符) )
SQL*Plus コマンド一覧や各コマンドの詳細説明を表示します。
※HELP コマンドと「?」コマンドによる処理内容に違いはありません。
HELP [ INDEX | コマンド名 ]
? [ INDEX | コマンド名 ]
INDEX
コマンド一覧を表示します。
コマンド名
指定した SQL*Plus コマンドの詳細説明を表示します。
例)SQL*Plus コマンドの一覧と SQL*Plus コマンド「HOST」のヘルプを表示する。
/* SQL*Plus コマンド一覧を表示 */
SQL> HELP INDEX
Enter Help [topic] for help.
@
@@
/
ACCEPT
APPEND
ARCHIVE LOG
ATTRIBUTE
BREAK
BTITLE
CHANGE
COPY
DEFINE
DEL
DESCRIBE
DISCONNECT
EDIT
EXECUTE
EXIT
GET
HELP
PAUSE
PRINT
PROMPT
QUIT
RECOVER
REMARK
REPFOOTER
REPHEADER
RESERVED WORDS (SQL)
RESERVED WORDS (PL/SQL)
SHUTDOWN
SPOOL
SQLPLUS
START
STARTUP
STORE
TIMING
TTITLE
UNDEFINE
VARIABLE
・・・ 省略 ・・・
/* SQL*Plus コマンドの HOST のヘルプを表示 */
SQL> ? HOST
HOST
---Executes an operating system command without leaving SQL*Plus.
Enter HOST without command to display an operating system prompt.
You can then enter multiple operating system commands.
HO[ST] [command]
株式会社アシスト
2-3
Copyright(C) K.K. Ashisuto All Rights Reserved.
SQLトレーニング(12cR1対応版) 第1版 2015年1月1日
本テキストで使用されるメーカ名、商品名は各社の商標または登録商標です。当社の文書による許可なしに、
本誌の一部または全部を複製することはお断りします。
また、本誌に記載された内容については、予告なしに変更することがありますので、予めご了承下さい。
株式会社アシストは、本書および本書に付属する資料についてその記載内容に誤りがないこと、および特定目的
に対する適合性に関するいっさいの保証を行うものではありません。
また、本資料を使用したことによって被った直接的・間接的な損害などについて、いかなる場合においても責任
を負いかねます。
発売元 株式会社
株式会社アシストは、日本オラクル
株式会社の代理店です。