ヘッダーをスキップ
Oracle Rdb SQLリファレンス・マニュアル
リリース7.2
E06178-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

第1章
SQL構文の概要

SQL(Structured Query Language)は、リレーショナル・データベースのデータ定義およびデータ操作言語です。SQLを使用すると、データベースを構成するデータ定義(スキーマ)を作成し、データベースへデータを格納し、データとデータ定義を更新できます。

ほとんどの主要ベンダーが、リレーショナル・データベース製品用に様々なSQLを提供しています。このため、多くの場合、SQLは様々なベンダーのリレーショナル・データベース製品を使用したサイトで優先的に使用されるインタフェースとなっています。このOracle Rdbドキュメント・セットでは、SQLは、一般的にANSI/ISO SQL規格と呼ばれる、SQL規格ANSI/ISO/IEC 9075-1:1999のOracle Rdb実装を指しています。Oracle Rdbは、ANSI/ISO SQL規格の大半の必須部分に準拠しています。Oracle Rdbで現在サポートされていないSQL:1999 CORE機能のリストは、Rdbのリリース・ノートを参照してください。

リレーショナル・データベース構成では、データは2次元形式(SQLではと呼ばれる)で表されます。リレーショナル・データベースにおける表は、印刷された表に類似しています。SQL用語では、表はの組合せで構成されています。列には通常名前が付けられ、列によって各行が分割され、データの個々の要素の集まりとなります。

1.1 SQLの使用

SQL文は、次の2つの方法で使用できます。

第1.4節では、SQLでの実行可能文と非実行可能文の区別について説明します。第1.5節表1-1では、SQL文およびSQLの実行可能文について要約しています。

1.1.1 SQLイメージの起動

RDB$SETVER.COMファイルを実行すると、Oracle Rdbプリコンパイラおよび対話型ユーティリティで使用するグローバルなコマンド言語記号を定義できます。このコマンド・プロシージャは、特にOracle Rdbのマルチバージョン・キットで便利です。

次のSQL記号が定義され、標準環境とマルチバージョン環境の両方で有効になります。

これらの記号を定義するには、次を入力します。


$ @SYS$LIBRARY:RDB$SETVER RESET

RDB$SETVER.COMおよび対応するRDB$SHOVER.COMの詳細は、Oracle Rdbのインストレーションおよび構成ガイドを参照してください。

1.2 サンプル・ディレクトリ

インストール時に、SQLによって様々な言語の多数のサンプル・プログラムがシステムのサンプル・ディレクトリにインストールされます。このディレクトリには、サンプル・データベースを作成するためのコマンド・プロシージャまたはスクリプトも含まれます。

このサンプル・ディレクトリは、論理名SQL$SAMPLEによって定義されます。

1.3 構文図の読み方

このマニュアルでは、構文図を使用してSQL文の形式を示します。構文図は、SQL文のオプション、必須および反復の特性をグラフィカルに表します。SQL文の構文図を読むことによって、文の構文について学習できます。

構文図は左上隅から読み始め、矢印に従って進み、右下隅で終わります。パスの分岐では、該当するオプションを含む分岐を選択します。オプションを省略する場合は、言語要素が含まれていないパスを選択します。図に2つ以上の水平線がある場合、矢印は各線の終端で下に曲がり、左の余白に続きます。構文図には次のものを含めることができます。

図1-1は、SQL FETCH文の構文図を示しています。

図1-1 サンプルの構文図(FETCH)



第6章のSQL文の説明は、構文図に沿って記述されています。この説明は引数リストとして示されており、リストの各エントリは構文図の対応する要素を示しています。次のリストは引数リストの形式になっていますが、引数の意味ではなく、構文図の表記規則を示しています。


引数

FETCH

図のメイン・ライン上に、大文字で下線が引かれて表示されます。したがって、このキーワードは必ず指定する必要があります。

cursor-name

parameter

図のメイン・ライン上に、小文字で山カッコに囲まれて表示されます。したがって、cursor-nameまたはparameterのかわりに値を指定する必要があります。このマニュアルでは、カーソル名などのユーザー指定の名前やパラメータに関する詳細は、第2章を参照してください。構文図に沿って説明されている引数リストについては、説明の重複を回避するため、第2章を参照します。

INTO

オプションです。ただし、この分岐を選択した場合は、このキーワードを指定する必要があります。

parameter

qualified-parameter

variable

分岐上に小文字で山カッコに囲まれて表示されます。このキーワードは常に空の分岐と並行しているため、パラメータと変数はオプションです。下位の図によって、パラメータの定義が拡張されます。

comma

リバース・ループ上に表示されます。リバース・ループは、複数のパラメータや変数を含めることができることを示します。複数のパラメータや変数を含める場合は、カンマで区切ります。

parameter

メインの分岐上に小文字で山カッコに囲まれて表示されます。パラメータはオプションですが、含める場合は、それぞれにメイン・パラメータを含める必要があります。インジケータ・パラメータとキーワードINDICATORはオプションです。

小文字のすべての語句が、図に沿った引数リストで説明されます。一部の説明では、このマニュアルの他の図を参照するように指示されています。

1.4 実行可能文および非実行可能文

SQLでは、ホスト言語プログラム、動的SQLおよび対話型SQLで実行可能文と非実行可能文が区別されます。

1.5 SQL文の要約

表1-1は、SQL文が許可および処理される環境でのすべてのSQL文を示しています。この表では、特に各文で次のことが可能かどうかを示しています。

特定の環境での文の使用の詳細(制限に関する情報など)は、第6章を参照してください。

表1-1 SQL文の要約
対話型
プリコンパイル
モジュール言語
動的に実行可能 実行可能 単一または複合
ACCEPT X       X S
ALTER CONSTRAINT X X X X X S
ALTER DATABASE X X X X X S
ALTER DOMAIN X X X X X S
ALTER FUNCTION X X X X X S
ALTER INDEX X X X X X S
ALTER MODULE X X X X X S
ALTER PROCEDURE X X X X X S
ALTER PROFILE X X X X X S
ALTER OUTLINE X X X X X S
ALTER ROLE X X X X X S
ALTER SEQUENCE X X X X X S
ALTER SYNONYM X X X X X S
ALTER STORAGE MAP X X X X X S
ALTER TABLE X X X X X S
ALTER TRIGGER X X X X X S
ALTER USER X X X X X S
ATTACH X X X X X S
BEGIN DECLARE   X       S
CALL X X X X X S/C
CASE X X X X X C
CLOSE X X X   X S
COMMENT ON X X X X X S
COMMIT X X X X X S/C
複合文 X X X X X S/C
CONNECT X X X X X S
CREATE CATALOG X X X X X S
CREATE COLLATING SEQUENCE X X X X X S
CREATE DATABASE X X X X X S
CREATE DOMAIN X X X X X S
CREATE FUNCTION X X X X X S
CREATE INDEX X X X X X S
CREATE MODULE X X X X X S
CREATE OUTLINE X X X X X S
CREATE PROCEDURE X X X X X S
CREATE PROFILE X X X X X S
CREATE ROLE X X X X X S
CREATE SCHEMA X X X X X S
CREATE SEQUENCE X X X X X S
CREATE STORAGE MAP X X X X X S
CREATE SYNONYM X X X X X S
CREATE TABLE X X X X X S
CREATE TRIGGER X X X X X S
CREATE USER X X X X X S
CREATE VIEW X X X X X S
DECLARE ALIAS   X X     S
DECLARE CURSOR X X X     S
動的DECLARE CURSOR   X X     S
拡張動的DECLARE CURSOR   X X   X S
DECLARE FUNCTION X     X X S
DECLARE LOCAL TEMPORARY TABLE X     X X S
DECLARE MODULE   X       S
DECLARE PROCEDURE X     X X S
DECLARE STATEMENT   X X     S
DECLARE TABLE   X X     S
DECLARE変数 X       X S/C
DECLARE TRANSACTION X X X X   S
DELETE X X X X X S/C
DESCRIBE   X X   X S
DISCONNECT X X X X X S
DROP CATALOG X X X X X S
DROP COLLATING SEQUENCE X X X X X S
DROP CONSTRAINT X X X X X S
DROP DATABASE X X X X X S
DROP DOMAIN X X X X X S
DROP FUNCTION X X X X X S
DROP INDEX X X X X X S
DROP MODULE X X X X X S
DROP OUTLINE X X X X X S
DROP PATHNAME X X X X X S
DROP PROCEDURE X X X X X S
DROP ROLE X X X X X S
DROP SCHEMA X X X X X S
DROP SEQUENCE X X X X X S
DROP STORAGE MAP X X X X X S
DROP SYNONYM X X X X X S
DROP TABLE X X X X X S
DROP TRIGGER X X X X X S
DROP USER X X X X X S
DROP VIEW X X X X X S
EDIT X       X  
END DECLARE   X       S
実行(@) X       X  
EXECUTE   X X   X S
EXECUTE IMMEDIATE   X X   X S
EXIT X       X  
EXPORT X       X  
FETCH X X X   X S
FOR X X X X X C
GET DIAGNOSTICS X X X X X C
GET ENVIRONMENT X       X S
GRANT X X X X X S
GRANT(ANSI形式) X X X X X S
HELP X       X  
IF X X X X X C
IMPORT X       X  
INCLUDE   X       S
INSERT X X X X X S/C
INTEGRATE X       X  
ITERATE X X X X X C
LOCK TABLE X X X X X S/C
LEAVE X X X X X C
LOOP X X X X X C
OPEN X X X   X S
オペレーティング・システムの起動($) X       X  
PREPARE   X X   X S
PRINT X       X  
QUIT X       X  
RELEASE   X X   X S
RENAME X X X X X S
REPEAT X X X X X C
RETURN X X X X X C
REVOKE X X X X X S
REVOKE(ANSI形式) X X X X X S
ROLLBACK X X X X X S/C
SELECT(一般形式) X     X X S
SELECT(シングルトン選択) X X X X X S/C
SET X       X C
SET ALIAS X X X X X S
SET ALL CONSTRAINTS X X X X X S
SET代入 X X X X X C
SET AUTOMATIC TRANSLATION X       X S
SET CATALOG X X X X X S
SET CHARACTER LENGTH X X X X X S
SET COMPOUND TRANSACTIONS X X X X X S
SET CONNECT X X X X X S
SET DEFAULT CHARACTER SET X X X X X S
SET DEFAULT DATE FORMAT X X X X X S
SET DIALECT X X X X X S
SET DISPLAY X         S
SET DISPLAY CHARACTER SET X X X X X S
SET ECHO X       X S
SET FEEDBACK X       X S
SET FLAGS X     X X S
SET HEADING X       X S
SET HOLD CURSORS X X X X X S
SET IDENTIFIER CHARACTER SET X X X X X S
SET KEYWORD RULES X X X X X S
SET LITERAL CHARACTER SET X X X X X S
SET NAMES X X X X X S
SET NATIONAL CHARACTER SET X X X X X S
SET NULL X       X S
SET OPTIMIZATION LEVEL X X X X X S
SET QUIET COMMIT X       X S
SET QUOTING RULES X X X X X S
SET SCHEMA X X X X X S
SET SESSION AUTHORIZATION X X X X X S
SET TRANSACTION X X X X X S/C
SET VIEW UPDATE RULES X X X X X S
SHOW X       X  
SIGNAL X X X X X C
START TRANSACTION X X X X X S/C
TRACE X X X X X C
TRUNCATE TABLE X X X X X S
UNDECLARE変数 X       X S
UPDATE X X X X X S
WHENEVER   X       S
WHILE X X X X X S