Microsoft の『ODBC Programmer's Reference』では、クエリが位置付けオペレーションを使用して更新可能であることを示すために、SELECT...FOR UPDATE を使用するように提案しています。SQL Anywhere では、FOR UPDATE 句を使用する必要はありません。次の条件が満たされている場合は、SELECT 文が自動的に更新可能になります。
基本となるクエリが更新をサポートしている。
つまり、結果のカラムに対するデータ操作文が有効であるかぎり、位置付けデータ操作文をカーソルに対して実行できます。
ansi_update_constraints データベースオプションは更新可能なクエリの種類を制限します。
カーソルタイプが更新をサポートしている。
読み込み専用カーソルを使用している場合、結果セットを更新できません。
ODBC で位置付け更新と位置付け削除を実行するには、2 つの手段があります。
SQLSetPos 関数を使用する。
指定されたパラメータ (SQL_POSITION、SQL_REFRESH、SQL_UPDATE、SQL_DELETE) に応じて、SQLSetPos はカーソル位置を設定し、アプリケーションがデータをリフレッシュしたり、結果セットのデータを更新または削除できるようにします。
これは、SQL Anywhere で使用する方法です。
SQLExecute を使用して、位置付け UPDATE 文と位置付け DELETE 文を送信する。この方法は、SQL Anywhere では使用しないでください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |