Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー プログラミング » ODBC サポート » ODBC アプリケーションの結果セット

 

カーソルを使用したローの更新と削除

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 では使用しないでください。

 参照