スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス
位置付け子はサーバ上にある特定のデータ値を識別する4バイトの値を持つデータです。位置付け子を用いることで,クライアント上にデータの実体を保持しないで,そのデータを扱うSQLの処理ができます。
- 位置付け子の種類を次の表に示します。
表1-39 位置付け子の種類
種類 |
内容 |
BLOB位置付け子 |
サーバ上のBLOB型データ値を識別する値を持つ |
BINARY位置付け子 |
サーバ上のBINARY型データ値を識別する値を持つ |
- 位置付け子の指定方法と指定できる箇所を次の表に示します。
表1-40 位置付け子の指定方法と指定できる箇所
種類 |
指定方法 |
指定できる箇所 |
BLOB位置付け子 |
埋込み変数 |
BLOB型の埋込み変数が指定できる箇所 |
BINARY位置付け子 |
埋込み変数 |
BINARY型の埋込み変数が指定できる箇所
ただし,割り当てられたサーバ上のデータのデータ型が,最大長が32,001バイト以上のBINARY型である位置付け子の埋込み変数の場合は,最大長が32,001バイト以上のBINARY型の埋込み変数を指定できる箇所だけとなります。 |
- サーバ上のデータ値を割り当てられていない位置付け子は無効です。
- 位置付け子を次に示す箇所に指定することで,データ値が割り当てられ,その位置付け子は有効となります。有効な位置付け子は同じトランザクション中で,対応するデータ型のデータと同様にSQL文中に指定できます。
- 1行SELECT文のINTO句
- FETCH文のINTO句
- 代入文の代入先
- 手続きのOUTパラメタ及びINOUTパラメタに対するCALL文の引数
- EXECUTE文のINTO句
- 位置付け子は次の場合に無効となります。
- FREE LOCATOR文に指定
- COMMIT文の実行
- ROLLBACK文の実行
- DISCONNECT文の実行
- PURGE TABLE文の実行時の自動的なCOMMIT
- クライアント環境変数のPDCMMTBFDDLにYESを設定している場合の定義系SQL実行時の自動的なCOMMIT
- 暗黙的ロールバックによるトランザクションの終了
- 無効な位置付け子を,割り当てられたデータを扱うSQL文中,又はFREE LOCATOR文に指定した場合はエラーとなります。
- 代入文形式2の代入先,及び代入値に位置付け子の埋込み変数を指定することで,サーバ上の同じデータを識別する位置付け子を複数作成した場合は,どれかを無効にしても,ほかの位置付け子は有効のままとなります。
- 既にデータを割り当てられている有効な位置付け子に対して,再びほかのデータを割り当てた場合でも,元の位置付け子の値は有効のままとなります。
- 位置付け子の値をUAPの記述言語によって書き換えた場合は,位置付け子が無効となります。又は書き換える前のデータと異なるデータを識別する場合があります。
- 無効な位置付け子に対して,UAPの記述言語によって有効な位置付け子の値を代入した場合,その位置付け子は有効となり,代入元の位置付け子と同じデータを識別します。また,この場合にどれかを無効にすると,どちらの位置付け子も無効となります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.