識別子
識別子 (アイデンティファイアー、identifier) は、SQL スクリプト内のオブジェクトのユーザー定義の一意の名前です。
|
•
|
識別子には、1 つ以上の文字を含めることができます。 |
|
•
|
識別子は、アルファベット文字 (a-z、A-Z) で始まる必要があります。 |
|
—
|
セパレーター: , (カンマ)、 ; (セミコロン)、’ ' (一重引用符のペア) |
|
—
|
特殊文字: _ (アンダースコア)、 / (スラッシュ)、$ (ドル記号)、# (ハッシュ記号) |
|
•
|
キーワードが二重引用符を使用してエスケープされていない限り、識別子を SQL スクリプト キーワードにすることはできません (「SQL スクリプトのキーワード」を参照)。 |
SQL スクリプトのキーワードを名前に持つ宣言変数の例を以下に示します。
DECLARE "VALUE" INTEGER;
DECLARE "CURSOR" CURSOR;
ここで、SQL スクリプトのキーワード VALUE とCURSOR は二重引用符で囲まれています。
|
•
|
二重引用符を使用して識別子をエスケープすると、スペース、ダッシュ、または他の言語の文字など、通常は使用できない文字を含めることもできます。 |
それ以外の場合は不正な文字を含む変数の宣言の例:
DECLARE "First Name" VARCHAR (40) ;
DECLARE "% Returned" DOUBLE;
|
•
|
識別子は、プロシージャ名、パラメーター名、カーソル名、フィールド名、変数名、カーソル変数名、データ タイプ名、例外名、ブロックのラベル (BEGIN/END、LOOP、WHILE、REPEAT、FOR、LEAVE、ITERATE など) に使用することができます。 |
|
•
|
TDV SQL スクリプトは、一連の処理規則によって識別子を解決します。 |
|
—
|
SQL 式内の識別子は、最初に SQL コンテキストでローカルに検索することによって評価されます。識別子がローカル SQL コンテキスト内で解決された場合、SQL エンジンは検索を続行しません。 |
たとえば、SQL WHERE 句のデータベース カラムでの識別子名の一致は、ローカル変数、プロシージャ名、または仮パラメーターの名前よりも優先されます。
|
—
|
識別子がローカル コンテキストで解決されない場合、検索は最小のプレフィックス ベースを使用して親コンテキストに進み、スキーマ レベルのスコープに移動します。 |
|
—
|
SQL コンテキスト スペースでは大文字と小文字が区別されないため、大文字と小文字の違いは、SQL コンテキスト内の識別子と一致する名前を区別しません。 |
|
—
|
一致するものが見つからない場合は、宣言されていない識別子エラーが返されます。 |