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 中。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |