スケーラブルデータベースサーバ HiRDB Version 8 SQLリファレンス

[目次][索引][前へ][次へ]

準備可能動的UPDATE文:位置付け 形式2(前処理可能なカーソルを使用したデータ更新)

機能

FIX指定の表内のカーソルが指している行の指定した列を更新します。PREPARE文で前処理してからEXECUTE文で実行,又はEXECUTE IMMEDIATE文で前処理と実行を一度に行う場合に使用します。

使用権限

表に対するUPDATE権限を持つユーザが,その表の列の値を更新できます。

形式2 <FIX指定の表内の行をカーソルを使用して行単位で更新(前処理可能)>

 
 UPDATE 〔〔〔RDノード名称.〕認可識別子.〕表識別子 
      〔IN (RDエリア名指定)〕 〔〔AS〕 相関名〕
      〔使用インデクスのSQL最適化指定〕〕
       SET ROW=行更新値
      WHERE CURRENT OF GLOBAL カーソル名
      〔WITH ROLLBACK
 

オペランド

SET句の行更新値,及びWHERE CURRENT OF GLOBAL カーソル名以外のオペランド,及びオペランド規則については,UPDATE文 形式2を参照してください。

また,WHERE CURRENT OF GLOBAL カーソル名のオペランド,及びオペランド規則については,準備可能動的UPDATE文:位置付け 形式1を参照してください。

行更新値
ROWに対応した行更新値として,次に示す項目が指定できます。
  • ?パラメタ

共通規則

  1. PREPARE文で前処理してから,EXECUTE文で実行,又はEXECUTE IMMEDIATE文で前処理と実行を一度に行います。
  2. 表識別子を省略する場合は,前処理する前に,ALLOCATE CURSOR文によって動的SELECT文にカーソルが割り当てられている必要があります。このとき,カーソルを割り当てた動的SELECT文に指定している検索対象の表を仮定します。表識別子を指定する場合には,前処理する前に,動的SELECT文にカーソルが割り当てられている必要はありません。
  3. そのほかの共通規則については,UPDATE文 形式2の共通規則が適用されます。

参照制約に関する規則

  1. UPDATE文 形式2の参照制約に関する規則が適用されます。

留意事項

  1. UPDATE文 形式2の留意事項が適用されます。

使用例

  1. 在庫表(ZAIKO)内のカーソル(cr(値:'CR1'))が指している行のデータを埋込み変数(XROW)の内容でまとめて更新するSQLを動的に実行します。
 
PREPARE GLOBAL :sel FOR 'SELECT * FROM ZAIKO FOR UPDATE'
<埋込み変数crに'CR1'を設定>
ALLOCATE GLOBAL :cr CURSOR FOR GLOBAL :sel
PREPARE PRE1 FOR 
    'UPDATE SET ROW = ? WHERE CURRENT OF GLOBAL CR1'
OPEN GLOBAL :cr
FETCH GLOBAL :cr INTO <各列を取り出す変数名>
EXECUTE PRE1 USING :XROW
CLOSE GLOBAL :cr
DEALLOCATE PREPARE GLOBAL :sel