【发布时间】:2018-04-09 10:43:44
【问题描述】:
我找到了这个声明here:
"关闭一个游标后,程序可以再次打开它,这意味着 DBMS 重新评估相同的查询或不同的查询,并且 构建一个新的结果集。”
您可以在 SQL Server 中执行此操作吗?我在 Transact-SQL 游标页面上没有找到与此相关的任何内容。
其他 DBMS 是否支持这样的功能?
【问题讨论】:
-
一般来说,你不应该首先使用光标。他们有自己的位置,但非常罕见。
-
你可以这样做rextester.com/AZZS83915。
-
使用 Martin 的示例,将第二个查询从 sys.sysobjects 更改为 sys.sysindexes 并且您已经更改了原始结构。
-
感谢您的评论,Sean Lange,但它回答了不同的问题。我会记住这一点,谢谢!
-
我明白了,所以你可以通过使用游标变量来做到这一点。感谢马丁·史密斯和李·珠穆朗玛峰!但是是否可以使用 DECLARE crs CURSOR 声明服务器游标,处理其结果集,关闭它(而不是 DEALLOCATE)并更改其 SELECT?
标签: mysql sql sql-server oracle cursor