TECHNOLOGY

FAQ (よくある質問)

対象バージョン : 7.0.x
対象OS : 全て

QUESTION ( SQ0506060 )

データの更新ができない
RDO/ADO/ADO.NETを使用したアプリケーションでソート(ORDER BY) を行っているレコードセットやリザルトセットのデータ更新をしたところ、「更新できないクエリに対して、更新しようとしました。」というエラーが表示され更新できない。

ANSWER

レコードセットやリザルトセットに対してADDNEWやUPDATEを行ってそのようなエラーが出た場合、一般的にクエリがORDER BY句を含んでいることが原因です。
SQL/92 規格ではORDER BY句を含んだカーソルをデフォルトでリードオンリーとしますのでORDER BY句を含んだクエリのレコードセットやリザルトセットは更新できません。
このエラーを解決するには、クエリにFOR UPDATE句を追加して更新可能とするか、SQL/92 規格との
互換性オプション ANSI_UPDATE_CONSTRAINTS を “OFF”を設定し、制限を解除してください。

ANSI_UPDATE_CONSTRAINTS オプションの詳細につきましては以下のオンラインマニュアルをご参照ください。
 ASA データベース管理ガイド 
  データベース・オプション 
   アルファベット順のオプション・リスト 
    ANSI_UPDATE_CONSTRAINTS オプション [互換性]