Hitachi

ノンストップデータベース HiRDB Version 10 SQLリファレンス


1.1.7 名前の指定

名前の指定には,引用符(")で囲んで指定する方法と,引用符(")で囲まないで指定する方法があります。

参考

名前を指定する場合,引用符(")で囲んで指定することを推奨します。なお,名前を引用符(")で囲んだ場合,半角英小文字,及び半角英大文字は区別して扱います。

理由

名前には,予約語と同じ名前を指定できませんが,引用符(")で囲んだ場合は,予約語と同じ名前を指定できます。SQLの拡張に伴って,システムに登録する予約語を追加する場合がありますので,名前はあらかじめ引用符(")で囲んで指定しておくと,追加した予約語と重複する問題が発生しません。

ただし,手続き中又は関数中に指定するカーソル名以外で,次に示す名前をUAPで使用する場合は,引用符(")で囲まないで指定してください。

〈この項の構成〉

(1) 共通規則

(凡例)

○:使用できます。

×:使用できません。

注※1

埋込み変数名,標識変数名,及びホスト識別子の長さは次のとおりです。

名前の種類

ホスト言語

COBOL85

COBOL2002

C言語

埋込み変数名

BLOB型

21文字まで

22文字まで

63文字まで

BLOB型以外

30文字まで

31文字まで

標識変数名,及びホスト識別子

COBOL85及びCOBOL2002の場合,全角文字は1文字としてカウントします。C言語の場合,ユニバーサル文字名は1文字としてカウントします。

注※2

使用する文字コードによって制限されます。pdntenvコマンド(UNIX版の場合はpdsetupコマンド)で文字コード種別にutf-8,utf-8_ivs,又はchinese-gb18030を指定した場合は使用しないでください。

注※3

パスワードについての規則を次に示します。

  • 先頭は英字にしてください。

  • 数字だけのパスワードは指定できません。

  • 「単一文字種の指定禁止」を使用した場合,英大文字だけのパスワードは指定できません。また,英小文字だけのパスワードも指定できません。

注※4
  • COBOL85及びCOBOL2002の場合

    埋込み変数名,標識変数名,及びホスト識別子には,a〜z,A〜Z,0〜9,下線(_),ハイフン(−),半角片仮名,及び全角文字が使用できます。

    全角文字と半角文字を混在させて使用できます。

  • C言語の場合

    埋込み変数名,標識変数名,及びホスト識別子には,a〜z,A〜Z,0〜9,及び下線(_)が使用できます。

    コンパイラがユニバーサル文字名(\uxxxx及び\Uxxxxxxxx)をサポートしていれば,ユニバーサル文字名を使用できます。

    マルチバイト文字は使用できません。

注※5

認可識別子の制限バイト数30バイトはHiRDBの仕様です。HiRDBと連携する関連製品では認可識別子の制限バイト数が異なりますので,ご使用の際は各製品の仕様を確認してください。

(2) SQLの予約語と重複したときの対応

名前がSQLの予約語と重複したときの対応方法を次に示します。(a)の方法を推奨します。(b)の方法は,アプリケーションの修正ができない場合など,SQLが修正できないときに使用してください。

(a) SQLを修正する

予約語と重複する名前を引用符(")で囲むようにSQLを修正してください。なお,名前を引用符(")で囲んだ場合,半角英小文字と半角英大文字は区別して扱われるので注意してください。

(b) SQL予約語削除機能を使用する

SQL予約語削除機能とは,SQLの予約語として登録してあるキーワードを予約語から削除する機能です。名前と重複した予約語がSQL予約語削除機能で削除できる予約語の場合,予約語から削除することで,名前を引用符(")で囲まなくても使用できるようになります。SQL予約語削除機能で削除できる予約語については,「SQL予約語削除機能で削除できる予約語」を参照してください。SQL予約語削除機能で削除できない予約語の場合は,(a)の方法でSQLを修正してください。

削除した予約語は,名前として使用できるようになりますが,同時にキーワードではなくなるため,削除した予約語を使うSQLの機能が使用できなくなる場合があります。使用できなくなるSQLの機能については,「SQL予約語削除機能で削除できる予約語」を参照してください。

使用方法

SQL予約語削除機能で削除する予約語を記述したSQL予約語削除ファイルは,システム共通定義pd_delete_reserved_word_fileオペランドであらかじめ指定する必要があります。システム共通定義pd_delete_reserved_word_fileオペランドについては,マニュアル「HiRDB システム定義」を参照してください。

また,SQL予約語削除機能を使用する場合は,クライアント環境変数PDDELRSVWDFILEによって,使用するSQL予約語削除ファイルを指定する必要があります。クライアント環境変数PDDELRSVWDFILEについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。

注意事項
  1. SQLオブジェクトを再作成するSQLを実行する場合,クライアント環境変数PDDELRSVWDFILEには,定義時に指定した予約語削除ファイルを指定してください。

  2. ディクショナリ搬出入ユティリティ(pdexp)で表の搬出入を行う場合,クライアント環境変数PDDELRSVWDFILEには,定義時に指定した予約語削除ファイルを指定してください。また,搬出元と搬入先で以下の内容を合わせておいてください。

    ・%PDDIR%\conf\pdrsvwd下の全ファイル

    ・システム共通定義pd_delete_reserved_word_fileオペランドの指定値