Hitachi

Hitachi Advanced Data Binder SQLリファレンス


6.10.2 名前が予約語と重複した場合の対応

名前が予約語と重複した場合は,次に示すどちらかの方法で対応してください。

基本的には,名前を二重引用符(")で囲むようにSQL文を修正してください。作業量の問題などでSQL文を修正できないときは,予約語を削除してください。

〈この項の構成〉

(1) 名前を二重引用符で囲む

予約語と同じ文字列を二重引用符(")で囲んでください。予約語を二重引用符(")で囲むと,一般の文字列と同じようにSQL文で使用できます。

(2) 重複した予約語を削除する

予約語を削除すると,削除した予約語は二重引用符(")で囲まないで名前に指定できるようになります。ただし,削除できない予約語もあるため注意してください。削除できない予約語については,「6.10.1 予約語の一覧」を参照してください。

重要

予約語を削除すると,削除した予約語を含むSQL文が実行できなくなります。

なお,表の定義後に予約語を削除した場合は,定義時の予約語が有効となります。そのため,表の定義後に予約語を削除すると,再定義時にエラーとなることがあります。

予約語を削除するには,サーバ定義のadb_sql_prep_delrsvd_wordsオペランドに削除する予約語を指定してください。adb_sql_prep_delrsvd_wordsオペランドについては,マニュアルHADB システム構築・運用ガイドサーバ定義の設計サーバ定義のオペランドの内容SQL文に関するオペランド(set形式)を参照してください。

サーバ定義のadb_sql_prep_delrsvd_wordsオペランドで指定した予約語の削除を,実行するAPによって無効にしたい場合は,クライアント定義のadb_sql_prep_delrsvd_use_srvdefオペランドにNを指定してください。adb_sql_prep_delrsvd_use_srvdefオペランドについては,マニュアルHADB AP開発ガイドクライアント定義の設計クライアント定義のオペランドの内容SQLに関するオペランドを参照してください。

なお,サーバ定義のadb_sql_prep_delrsvd_wordsオペランドに指定した削除対象の予約語は,HADBサーバに接続する認可識別子にも適用されます。例えば,adb_sql_prep_delrsvd_wordsオペランドにABSを指定すると,adbsqlコマンドの-uオプションにABSを指定して,認可識別子ABSでHADBサーバに接続することができます。