SQL 解説書
名前を形成するための規則は、
その名前で指定されるオブジェクトの種類によって異なります。
データベース・オブジェクト名は、1 つの識別子で構成されているか、
2 つの識別子で構成されるスキーマ修飾オブジェクトとなっています。
スキーマ修飾オブジェクト名は、スキーマ名なしで指定することができます。
この場合、スキーマ名は暗黙指定になります。
動的 SQL ステートメントでは、スキーマ修飾オブジェクト名は、
修飾子のないオブジェクト名参照の修飾子として CURRENT SCHEMA 特殊レジスター値を暗黙的に使用します。
デフォルトでは、この値は現行の許可 ID に設定されています。
詳細については、
SET SCHEMAを参照してください。
SQL ステートメントが DYNAMICRULES BIND オプションを使用してバインドされたパッケージからのものである場合、
修飾に CURRENT SCHEMA 特殊レジスターは使用されません。
DYNAMICRULES BIND パッケージでは、
動的 SQL ステートメント内にある修飾されていないオブジェクト参照子を修飾するための値として、
パッケージのデフォルト修飾子が使用されます。
静的 SQL ステートメントでは、
QUALIFIER プリコンパイル / バインド・オプションにより、
未修飾オブジェクト名の修飾子が暗黙指定されます。
デフォルトでは、この値はパッケージの許可 ID に設定されています。
詳細については、コマンド解説書 を参照してください。
構文図では、異なる種類の名前には異なる用語を使用しています。
以下のリストでそのような用語を定義します。
各種の識別子の最大長については、付録 A, SQL の制限値を参照してください。
- alias-name
- 別名を指定するスキーマ修飾名。
- attribute-name
- 構造化データ・タイプを指定する識別子。
- authorization-name
- ユーザーまたはグループを指定する識別子。
文字に関しては以下の制限が適用されます。
- 有効な文字は、A〜Z、a〜z、0〜9、#、@、
$、および _ です。
- 名前は、文字 'SYS'、'IBM'、
または 'SQL' で始めることはできません。
- 名前は、ADMINS、GUESTS、LOCAL、
PUBLIC、または USERS であってはなりません。
- 区切り許可 ID に小文字を含めることはできません。
- bufferpool-name
- バッファー・プールを指定する識別子。
- column-name
- 表または視点の列を指定する修飾子付きまたは修飾子のない名前。
修飾子は、表名、視点名、ニックネーム、または相関名です。
- condition-name
- SQL プロシージャーの条件を指定する識別子。
- constraint-name
- 参照制約、基本キー制約、固有制約、または表検査制約を指定する識別子。
- correlation-name
- 結果表を指定する識別子。
- cursor-name
- SQL カーソルを指定する識別子。
ホストとの互換性を保つため、この名前にハイフン文字を使用することもできます。
- data-source-name
- データ・ソースを指定する識別子。
この識別子は、リモート・オブジェクト名を構成する 3 部分のうちの 1 番目です。
- descriptor-name
- コロンの後に、SQL 記述子域 (SQLDA) を指定するホスト識別子を付けたもの。
ホスト識別子の説明については、
ホスト変数の参照を参照してください。
記述子名には標識変数は含まれません。
- distinct-type-name
- 特殊タイプ名を指定する修飾子付きまたは修飾子のない名前。
SQL ステートメントでの修飾子のない特殊タイプ名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- event-monitor-name
- 事象モニターを指定する識別子。
- function-mapping-name
- 関数マッピングを指定する識別子。
- function-name
- 関数を指定する、修飾子付きまたは修飾子のない名前。
SQL ステートメントにおける修飾子のない関数名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- group-name
- 構造タイプ用に定義した変換グループを指定する、修飾子のない識別子。
- host-variable
- ホスト変数を指定するトークンを連結したもの。
ホスト変数の参照に説明されているように、
ホスト変数には少なくとも 1 つのホスト識別子が含まれます。
- index-name
- 索引または索引指定を指定するスキーマによって修飾された名前。
- label
- SQL プロシージャーのラベルを指定する識別子。
- method-name
- メソッドを指定する識別子。
メソッドのスキーマ・コンテキストは、そのメソッドのサブジェクト・タイプ (または、
サブジェクト・タイプのスーパータイプ) のスキーマによって決まります。
- nickname
- 連合サーバーが表または視点に参照することを指定する、
スキーマによって修飾された名前。
- nodegroup-name
- ノードグループを指定する識別子。
- package-name
- パッケージを指定するスキーマ修飾名。
- parameter-name
- プロシージャー、ユーザー定義関数、メソッド、
または索引拡張機能で参照できるパラメーターを指定する識別子。
- procedure-name
- プロシージャーを指定する修飾子付きまたは修飾子のない名前。
SQL ステートメントにおける修飾子のないプロシージャー名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- remote-authorization-name
- データ・ソースのユーザーを指定する識別子。
許可名に関する規則は、データ・ソースごとに異なります。
- remote-function-name
- データ・ソース・データベースに登録されている関数を指定する名前。
- remote-object-name
- データ・ソース表または視点を指定するとともに、
その表または視点が存在しているデータ・ソースを識別する 3 部分名。
この名前は、データ・ソース名、リモート・スキーマ名、
およびリモート表名の 3 部分で構成されます。
- remote-schema-name
- データ・ソース表または視点が属するスキーマを指定する名前。
この名前は、リモート・オブジェクト名を構成する 3 部分のうちの 2 番目です。
- remote-table-name
- データ・ソースにある表または視点を指定する名前。
この名前は、リモート・オブジェクト名を構成する 3 部分のうちの 3 番目です。
- remote-type-name
- データ・ソース・データベースがサポートするデータ・タイプ。
システムに組み込まれたタイプの場合は、長形式を使用しないでください (たとえば、
CHARACTER ではなく CHAR を使用してください)。
- savepoint-name
- 保管点を指定する識別子。
- schema-name
- SQL オブジェクトを論理的にグループ化するための識別子。
オブジェクト名の修飾子として使用されるスキーマ名は、
以下のものから暗黙的に決定されます。
- CURRENT SCHEMA 特殊レジスターの値
- QUALIFIER プリコンパイル / バインド・オプションの値
- CURRENT PATH 特殊レジスターを使用する解決アルゴリズムに基づいて
- 同一の SQL ステートメントにある別のオブジェクトのスキーマ名に基づいて
混乱を避けるために、スキーマとしてスキーマ名「SESSION」を使わないようお勧めします。
ただし、宣言済みのグローバル一時表のスキーマは除きます (この場合は、
スキーマ名「SESSION」を使用する必要があります)。
- server-name
- アプリケーション・サーバーを指定する識別子。
連合システムでは、server-name によってデータ・ソースのローカル名も指定します。
- specific-name
- 固有名を指定する、修飾子付きまたは修飾子のない名前。
SQL ステートメントにおける修飾子のない固有名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- SQL-variable-name
- SQL プロシージャー・ステートメントのローカル変数名を定義します。
SQL 変数名は、ホスト変数名が許可されている他の SQL ステートメントで使うこともできます。
この名前に対しては、SQL 変数を宣言した複合ステートメントのラベルで修飾できます。
- statement-name
- 作成済み SQL ステートメントを指定する識別子。
- supertype-name
- タイプ名のスーパータイプを指定する修飾子付きまたは修飾子のない名前。
SQL ステートメントにおける修飾子のないスーパータイプ名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- table-name
- 表を指定するスキーマによって修飾された名前。
- tablespace-name
- 表スペースを指定する識別子。
- trigger-name
- トリガーを指定するスキーマによって修飾された名前。
- type-mapping-name
- データ・タイプ・マッピングを指定する識別子。
- type-name
- タイプ名を指定する修飾子付きまたは修飾子のない名前。
SQL ステートメントにおける修飾子のないタイプ名は、
文脈に応じてデータベース・マネージャーによって暗黙のうちに修飾されます。
- typed-table-name
- タイプ付き表を指定するスキーマによって修飾された名前。
- typed-view-name
- タイプ付き視点を指定するスキーマによって修飾された名前。
- view-name
- 視点を指定するスキーマによって修飾された名前。
- wrapper-name
- ラッパーを指定する識別子。
[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]