Oracle Cursor与SQL Server游标

时间:2012-01-04 14:55:48

标签: sql-server oracle cursor

我是Oracle的新手,我想知道Oracle是否有像SQLSERVER这样的游标的选项。 像这样:

[ LOCAL | GLOBAL ]
[ FORWARD_ONLY | SCROLL ]
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
[ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
[ TYPE_WARNING ]
FOR select_statement
[ FOR UPDATE [ OF column_name [ ,...n ] ] ]

请发布一些我可以阅读的链接,了解如何使用它们或代码示例。

2 个答案:

答案 0 :(得分:10)

Oracle中的显式游标没有与之关联的元数据。以下是将Oracle的行为置于T-SQL上下文中的翻译。

Oracle游标不支持滚动。所以他们是FORWARD_ONLY,没有讨论。这意味着SCROLL,FAST_FORWARD,SCROLL_LOCKS和KEYSET不适用。

所有Oracle游标都是LOCAL。

由于Oracle的隔离级别,游标相当于INSENSITIVE和STATIC。

除非我们使用FOR UPDATE SQL语法来锁定所选行,否则游标是OPTIMISTIC。 Find out more

游标是READ_ONLY。它们仅用于获取数据。我们可以使用WHERE CURRENT OF语法来更新游标标识的行。最好与FOR UPDATE一起使用。 Find out more

您不会惊讶地发现TYPE_WARNING不适用(因为没有别的)。

答案 1 :(得分:0)

可以找到所有信息HERE,特别是HEREHERE