Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


2.2.1 カーソルを使用した検索及び使用しない検索

表の検索結果は一般には複数行にわたります。UAPで複数行の検索結果を1行ずつ取り出すために最新の取り出し位置を保持するのがカーソルです。

ここでは,カーソルを使用した検索と,カーソルを使用した検索行の更新について説明します。

なお,カーソルを使用するときに考慮する内容については,「カーソルの効果」を参照してください。

〈この項の構成〉

(1) カーソルを使用した検索

表の検索結果が2行以上になる場合や,SQLの文字列をPREPARE文で前処理して動的に検索する場合,カーソルを使用して検索します。

検索結果が1行以下の場合,カーソルを使用しないで1行SELECT文で検索することもできます。

なお,PREPARE文,及び1行SELECT文については,マニュアル「HiRDB SQLリファレンス」を参照してください。

カーソルを使用して複数行を検索するときの例として,在庫表から各商品の品番と単価を検索するUAPを次に示します。

[図データ]

(2) カーソルを使用した検索行の更新

複数の検索行を更新する場合,カーソルを使用して1行ずつ検索しながら更新します。

なお,検索結果が1行以下の場合,1行SELECT文で検索して更新できますが,カーソルを使用する方が処理効率は良くなります。

カーソルを使用して検索行を更新するときの例として,在庫表の各商品の単価を1割下げる(0.9倍する)UAPを次に示します。

[図データ]

(3) カーソルを使用しない検索(1行検索)

カーソルを使用しないで検索するときの例として,在庫表の件数を求めて埋込み変数に取り出すUAPを次に示します。

[図データ]