更新游标

更新游标是一种特殊的游标,当可能潜在地更新行时,应用程序可使用它。要使用更新游标,请在您的应用程序中执行 SELECT FOR UPDATE。更新游标使用可提升锁;即,当应用程序访存行时,数据库服务器放置更新锁(意味着其他用户仍可查看该行),但当应用程序使用更新游标和 UPDATE...WHERE CURRENT OF 更新该行时,将锁更改为排他锁。

使用更新游标的优势在于,您可查看该行,并确信在您查看它时以及您更新它之前,其他用户不可使用更新游标来更改它或查看它。
提示: 在符合 ANSI 的数据库中,由于任何选择游标的行为都与更新游标一样,因此更新游标不是必需的。
下图中的伪代码展现数据库服务器何时使用游标来放置和释放锁。

图: 为更新放置的锁


begin figure description - This figure is described in the surrounding text. - end figure description