ページの先頭行へ戻る
Symfoware Server V11.0.x SQLリファレンス
Symfoware

2.1.3 トークン

機能

SQL文を構成する最小単位を指定します。

記述形式

非区切りトークン

区切りトークン

識別子

分離符号

構文要素の構成

参照項番

一般規則

識別子体
  • 英字で始まる下線または英数字で指定します。

拡張識別子
  • 拡張文字または英字で始まる下線、拡張文字または英数字で指定します。

注意

Symfoware Serverのマニュアルでは、識別子体と拡張識別子を合わせて、“先頭が英字で始まる英数字”と説明する場合があります。Symfoware Serverのマニュアルで“先頭が英字で始まる英数字”と説明している部分は、特別な説明がない限り、“英字で始まる下線または英数字”または、“拡張文字または英字で始まる下線、拡張文字または英数字”という意味になります。

各国語文字識別子

各国語文字識別子を構成する文字数は18文字以内です。ただし、認可識別子や共用バッファ識別子など、識別子の種類によって識別子に指定可能な長さは異なります。各識別子の制限値については、“付録C 定量制限”を参照してください。

Symfoware/RDBの文字コード系がEUCコードの場合
  • 各国語文字識別子には、各国語文字を指定します。

  • 各国語文字識別子に、各国語文字の空白およびJEF拡張漢字/非漢字および83JIS改定文字を含むことはできません。

  • 各国語文字識別子に、半角カタカナを含むことはできません。

  • EUCコードの各国語文字は2バイトコードです。

  • 各国語文字識別子に指定できるのは、シフトJISコードで表現可能な文字の範囲です。

Symfoware/RDBの文字コード系がシフトJISコードの場合
  • 各国語文字識別子には、各国語文字を指定します。

  • 各国語文字識別子に、各国語文字の空白を含むことはできません。

  • 各国語文字識別子に、半角カタカナを含むことはできません。

  • シフトJISコードの各国語文字は2バイトコードです。

Symfoware/RDBの文字コード系がUNICODEの場合
  • 各国語文字識別子に指定できる各国語文字のコードは、UNICODEです。

  • 各国語文字識別子に、各国語文字の空白を含むことはできません。

  • 各国語文字識別子に、半角カタカナを含むことはできません。

  • UNICODEの各国語文字は2バイトコードと3バイトコードがあります。

  • 各国語文字識別子に指定できるのは、シフトJISコードで表現可能な文字の範囲です。

  • 各国語文字識別子に、UNICODEの補助文字(1~16面の4バイト文字)を含むことはできません。

  • UNICODEの各国語文字はUTF-8形式では2バイトまたは3バイト、UCS-2形式では2バイトです。

キーワード
  • キーワードは、予約語です。識別子として指定することはできません。キーワードを識別子として指定したい場合は、区切り識別子で指定する必要があります。キーワードの種類については、“付録B キーワード一覧”を参照してください。

識別子
  • 識別子を構成する文字数は36文字以内です。識別子が各国語文字識別子である場合は、各国語文字の文字数は18文字以内です。ただし、認可識別子や共用バッファ識別子など、識別子の種類によって識別子に指定可能な長さは異なります。各識別子の制限値については、“付録C 定量制限”を参照してください。

  • 識別子が各国語文字識別子の場合については、“各国語文字識別子”を参照してください。

通常識別子
  • 通常識別子に英小文字を指定した場合、対応する英大文字に変換されます。ただし、各国語文字識別子は英小文字と英大文字を等価に扱いません。

  • 通常識別子としてキーワードを使用することはできません。

区切り識別子
  • 通常識別子またはキーワードを二重引用符(")で囲って指定します。

  • 英小文字と英大文字を等価に扱いません。

各種記号
  • 区切りトークンに指定できる各種記号を以下に示します。

分離符号
  • すべてのトークンのうしろに、“/*”で始まる注釈以外の分離符号を指定することができます。非区切りトークンのうしろには区切りトークンまたは分離符号を指定することが必要です。ただし、キーワード(非区切りトークン)の直後に各国語文字列定数(区切りトークン)を指定することはできません。この場合は、分離符号を指定することが必要です。

  • 空白、タブおよび改行はEUCコードのコードセット0(ASCIIコードに同じ)、シフトJISコードのコードセット0(ASCIIコードに同じ)またはUNICODEのコードセット(ASCIIコードに同じ)に対応する空白文字、タブ文字および改行文字です。

  • “--”で始まる注釈は、SQL文の任意の場所に指定できます。文字列定数中以外で注釈導入子を指定した位置から、その行の終わりまでが注釈になります。1行すべてが注釈でもかまいません。

  • “/*”で始まる注釈は、カーソル宣言、単一行SELECT文、INSERT文の問合せ指定、導出表、または副問合せのキーワード“SELECT”の直後に指定して、ASSIST指定のために使用できます。“/*”を指定した位置から“*/”の位置までが注釈になります。“/*”と“*/”で囲まれた注釈は、複数行に渡って指定することも可能です。

  • “/*”と“*/”で囲まれた注釈中に注釈導入子“--”を指定すると、注釈導入子が優先されます。

  • “/*”と“*/”で囲まれた注釈中にSQL終了子(END-EXECまたは;)を指定すると、SQL終了子が優先されます。

  • “/*”の後ろに“ASSIST”とある場合のみ、ASSIST指定として有効になります。ただし、有効なASSIST要素が1つもない場合は、ASSIST指定として有効になりません。

使用例

1

非区切りトークン

COLUMN_NAME  ・・・ 識別子(列名)
UPDATE       ・・・ キーワード
15           ・・・ 数定数

2

区切りトークン

'TOKYO'                ・・・ 文字列定数
N'東京'                ・・・ 各国語文字列定数
'2007-04-10'           ・・・ 日付列
'12:10:40'             ・・・ 時刻列
'2007-04-10 12:10:40'  ・・・ 時刻印列
+                      ・・・ 演算子
"SCHEMA"               ・・・ 区切り識別子(キーワードを識別子とし
                              て使用)

3

注釈

EXEC SQL
    DECLARE 在庫表カーソル CURSOR FOR
    SELECT 製品番号,製品名 -- 在庫表を検索  
    FROM 在庫管理.在庫表           (1)
END-EXEC

(1) 注釈


例4

注釈

EXEC SQL
    DECLARE 在庫表カーソル CURSOR FOR
    SELECT          /* 在庫表を検索 */    製品番号,製品名
    FROM 在庫管理.在庫表     (1)
END-EXEC

(1) 注釈


例5

ASSIST指定

EXEC SQL
    DECLARE 在庫表カーソル CURSOR FOR
    SELECT       /* ASSIST FIRST_ROWS */    製品番号,製品名
    FROM 在庫管理.在庫表     (1)
    ORDER BY 製品番号
END-EXEC

(1) ASSIST指定