PostgreSQL CLOSE
CLOSE — 关闭一个游标
大纲
CLOSE { name
| ALL }
描述
CLOSE
释放与一个已打开游标相关 的资源。在游标被关闭后,不允许在其上做后续的操作。当不再 需要使用一个游标时应该关闭它。
当一个事务被COMMIT
或者 ROLLBACK
终止时,每一个非可保持 的已打开游标会被隐式地关闭。当创建一个可保持游标的事务通过 ROLLBACK
中止时,该可保持游标会 被隐式地关闭。如果该创建事务成功地提交,可保持游标会保持打 开,直至执行一个显式的CLOSE
或者 客户端连接断开。
参数
name
-
要关闭的已打开游标的名称。
ALL
-
关闭所有 已打开的游标。
注解
PostgreSQL没有一个显式的 OPEN
游标语句,一个游标在被声明时 就被认为是打开的。使用DECLARE语句可以声明游标。
通过查询pg_cursors
系统视图可以看到所有可用的游标。
如果一个游标在一个保存点之后关闭,并且后来回滚到了这个保存点, 那么CLOSE
不会被回滚,也就是说回滚 后游标仍然保持关闭。
示例
关闭游标liahona
:
CLOSE liahona;
兼容性
CLOSE
完全服从 SQL 标准。 CLOSE ALL
是一种PostgreSQL
扩展。