Sybase数据库游标的可用性
游标的可用性
并非所有的接口都为所有的游标类型提供支持。
ODBC和OLE DB(ADO)支持所有的游标类型。
嵌入式SQL支持所有的游标类型。
ADO.NET只提供只进、只读游标。
对于 JDBC
•jConnect 4.x只提供敏感性未定型游标。
•jConnect 5.x支持所有类型的游标,但是可滚动游标会导致性能严重下降。
•iAnywhere JDBC 驱动程序支持所有类型的游标。
Sybase Open Client只支持敏感性未定型游标。此外,在使用可更新的非唯一游标时,会产生严重的性能下降。
游标属性
您可以显式或者隐式从编程接口请求游标类型。不同的接口库提供不同的游标类型选择。例如,JDBC和ODBC指定了不同的游标类型。
每个游标类型都由许多特性来定义:
唯一性 声明游标是唯一的将强制查询返回唯一地标识每一行所需要的所有列。通常,这意味着返回主键中的所有列。所需要的但未指定的任何列都要添加到结果集中。缺省游标类型是非唯一的。
可更新性声明为只读的游标不能在定位更新或删除操作中使用。
缺省游标类型是可更新的。
可滚动性 您可以这样声明游标:当您在结果集中移动时,它表现出不同的行为。某些游标可以只读取当前行或后面的行。其它一些游标可以在结果集中来回移动。
敏感性
通过游标也许可以看到对数据库的更改,也许看不到。
这些特性可能会对性能以及数据库服务器内存的使用产生明显的副作用。
Adaptive Server Anywhere 可产生具有这些特性中的各种混合特性的游标。当您请求给定类型的游标时,Adaptive Server Anywhere将尽可能匹配那些特性。
某些情况下,并非所有特性都可以提供。例如,Adaptive Server Anywhere中的不敏感游标必须是只读的。如果您的应用程序请求可更新的不敏感游标,提供给它的将是别的类型的游标。