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

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - 编程 » ODBC 支持 » 使用结果集

 

通过游标更新和删除行

Microsoft 的 ODBC 程序员参考建议您使用 SELECT ...FOR UPDATE 来指示查询可以使用定位操作进行更新。您不必在 SQL Anywhere 中使用 FOR UPDATE 子句:只要满足以下条件,即可自动更新 SELECT 语句:

  • 基础的查询支持更新。

    就是说,只要结果中各列内的数据修改语句有意义,定位的数据修改语句就可在游标上执行。

    ansi_update_constraints 数据库选项将查询的类型限制为可更新的类型。

    有关详细信息,请参见ansi_update_constraints 选项

  • 游标类型支持更新。

    如果您使用的是只读游标,则不能更新结果集。

ODBC 提供两种方法来执行定位的更新和删除:

  • 使用 SQLSetPos 函数。

    根据提供的参数(SQL_POSITION、SQL_REFRESH、SQL_UPDATE 和 SQL_DELETE),SQLSetPos 设置游标位置,让应用程序刷新、更新或删除结果集中的数据。

    这是 SQL Anywhere 中使用的方法。

  • 使用 SQLExecute 发送定位的 UPDATE 和 DELETE 语句。这种方法不得用于 SQL Anywhere 中。