Mysql 更改已关闭(但未解除分配)光标的选择
我发现这句话: 关闭光标后,程序可以再次打开它,这意味着 DBMS重新计算相同的查询或不同的查询,并 生成新的结果集。“ 您可以在SQL Server中执行此操作吗?我在Transact-SQL游标页面上未找到任何与此相关的内容 其他DBMS是否支持这种特性 FWIW。对于SQL Server CLOSE使数据结构可以重新打开,但会获取 在光标重新打开之前,不允许进行定位更新。 关闭必须在打开的光标上发出;上不允许关闭 仅已声明或已关闭的游标 语法Mysql 更改已关闭(但未解除分配)光标的选择,mysql,sql,sql-server,oracle,cursor,Mysql,Sql,Sql Server,Oracle,Cursor,我发现这句话: 关闭光标后,程序可以再次打开它,这意味着 DBMS重新计算相同的查询或不同的查询,并 生成新的结果集。“ 您可以在SQL Server中执行此操作吗?我在Transact-SQL游标页面上未找到任何与此相关的内容 其他DBMS是否支持这种特性 FWIW。对于SQL Server CLOSE使数据结构可以重新打开,但会获取 在光标重新打开之前,不允许进行定位更新。 关闭必须在打开的光标上发出;上不允许关闭 仅已声明或已关闭的游标 语法 CLOSE { { [ GLOBAL ] cu
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
参数
全球的
指定游标名称引用全局游标
游标名称
是打开的游标的名称。如果全局游标和本地游标都存在,且游标\名称作为其名称,则指定全局时,游标\名称指的是全局游标;否则,游标名称指的是本地游标
游标\变量\名称
与打开的游标关联的游标变量的名称。FWIW。对于SQL Server
CLOSE使数据结构可以重新打开,但会获取
在光标重新打开之前,不允许进行定位更新。
关闭必须在打开的光标上发出;上不允许关闭
仅已声明或已关闭的游标
语法
CLOSE { { [ GLOBAL ] cursor_name } | cursor_variable_name }
参数
全球的
指定游标名称引用全局游标
游标名称
是打开的游标的名称。如果全局游标和本地游标都存在,且游标\名称作为其名称,则指定全局时,游标\名称指的是全局游标;否则,游标名称指的是本地游标
游标\变量\名称
与打开的游标关联的游标变量的名称。一般来说,首先不应该使用游标。它们有它们的位置,但它们非常罕见。你可以这样做。以Martin的例子,将第二个查询从sys.sysobjects更改为sys.sysindexes,你已经更改了原始结构。我感谢你的评论,Sean Lange,但它回答了一个不同的问题。我会记住的,谢谢!我明白了,所以您可以通过使用游标变量来实现。感谢马丁·史密斯和李·埃佛勒斯峰!但是,是否可以使用declare crs cursor声明服务器游标、处理其结果集、关闭它(而不是取消分配它)并更改其选择?一般来说,首先不应该使用游标。它们有它们的位置,但它们非常罕见。你可以这样做。以Martin的例子,将第二个查询从sys.sysobjects更改为sys.sysindexes,你已经更改了原始结构。我感谢你的评论,Sean Lange,但它回答了一个不同的问题。我会记住的,谢谢!我明白了,所以您可以通过使用游标变量来实现。感谢马丁·史密斯和李·埃佛勒斯峰!但是,是否可以使用declare crs cursor声明服务器游标、处理其结果集、关闭它(而不是取消分配它)并更改其SELECT?我的问题是,在关闭游标后但取消分配它之前,是否可以更改它的SELECT语句,即在游标的declare语句中使用的语句。我提供的链接清楚地表明这是可能的,但我没有找到在SQL Server中实现这一点的方法。我很好奇其他数据库管理系统是否支持这一点。我的问题是,在关闭游标之后,但在释放游标之前,您是否可以更改它的SELECT语句,即您在游标的DECLARE语句中使用的语句。我提供的链接清楚地表明这是可能的,但我没有找到在SQL Server中实现这一点的方法。我很好奇是否有其他数据库管理系统支持这一点。