问题标签 [cursors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
17010 浏览

oracle - 游标 - 即使返回行,%notfound 也为真

我有一个游标,用于获取一些其他处理的初步信息。支持游标的查询可能不会返回任何行,在这些极少数情况下,我们希望引发一个特殊异常(在其他地方处理和记录,因此不会强制停止处理),以便用户知道最有可能发生的情况输入错误。这是它的样子:

问题是 if 语句总是执行,因此总是引发异常,即使返回一行也是如此。我不确定为什么。如果有更好的方法来处理这种逻辑,我也愿意;)

0 投票
5 回答
26534 浏览

c# - C# WaitCursor 表单加载

我有一个需要几秒钟才能最终显示的表单。此表单通过以下方式调用:

Cursors.WaitCursor在等待表单最终显示时获得默认光标非常有用。目前,我似乎只能通过使用静态“当前”属性成功地做到这一点:

但这有两个问题:

  • 它迫使我禁用我想保留的 MainForm 隐藏功能。
  • 它增加了耦合,因为Cursor.Current = Cursor.Default;需要在 ResultsForm Shown 事件中调用。

如何在表单加载时更改光标而不更改第一个代码段并避免耦合?

更新: 现在问题得到了回答,视频演示被删除了,所以我不会超过我的 ISP 带宽限制。

0 投票
2 回答
1016 浏览

oracle - ORA-02014- 如何更新表中随机选择的行?

我正在尝试从cards带有列的表中随机选择一张卡片c_valuec_suit使用一个过程。选择它后,该过程应将该条目的taken字段更新为“Y”。

然后我试图获取选定的卡并输出它作为开始。有了这个:

但是我得到了标题中所述的错误,似乎我选择随机卡的方式阻止了我进行更新。提前致谢!

0 投票
2 回答
336 浏览

sql-server - 使用游标删除记录

我对 SQL 的了解有限,所以有人可以告诉我我的想法是否正确。我有一张桌子,随着时间的推移会慢慢填满。我需要删除从第一条记录到表中给定点的记录。由于主键基于 GUID,我知道我无法轻松删除,因为我无法根据 GUID 进行排序(这在上一个线程中讨论过)。是否可以使用游标查看表中的第一条记录并在表中删除记录,直到我到达某个 GUID?我遇到的问题是,我需要删除在 GUID 定义的记录之前放入表中的所有记录,但如果记录的数据比预定义的日期更旧,我只能删除它们。我知道这有点混乱,但我必须重新安装一个解决方案,所以现在可以使用一个强大的解决方案。

我正在使用 MS SQL Server 2008

0 投票
1 回答
528 浏览

java - Java:ResultSet关闭策略,除了在finally中关闭它

我面临 ORA-01000:尽管我正在关闭 finally 块中的结果集,但已超出最大打开游标。但我怀疑我的遗留代码有问题,下面是我的伪代码

  1. 如果循环运行 5 次,这段代码将打开多少个游标?
  2. 如果我最终关闭 rs1,将关闭多少个游标,有人说 query1 的 rs1 实例不会被关闭,因为它被 query2 实例屏蔽。
  3. 结果集真的会以这种方式被掩盖吗,如果是这样,如何确保所有实例都已关闭。

感谢任何帮助。

0 投票
1 回答
1421 浏览

mysql - mysql动态游标

这是我编写的程序- Cursors c1& c2c2在里面c1,我尝试在c2下面声明c1(在c1光标外),但I没有采用更新的值:(任何让它工作的建议都会有帮助,谢谢

0 投票
2 回答
1062 浏览

sql - Equally divide resultset into groups, with cursor or not?

I'm building a race administration system, with drivers and race heats.

I need to divide, lets say, 13 drivers into groups of maximum 6 per group. It's not possible since the result will be 2.2 groups, wich is impossible, 3 groups is required. Smaller groups than 6 is allowed, so I decide to divide 13 by 3 to accomplish the follwing division:

Heat 1: 4 drivers
Heat 2: 4 drivers
Heat 3: 5 drivers (the remaining drivers, but no more than 6)

I have managed to divide the rows and rounding the results etc. to know that 3 groups is needed and no less than 4 drivers per group is allowed. The tricky part is how to loop through this and add the rest (5) in the last loop... I'm thinking of "SELECT TOP 4..." for the two first, and "SELECT TOP 100%..." for the remaining five drivers.

I know cursors, but i'm not an expert and I know how to create and execute a dynamic sql query.

How can this be done by using cursors and/or counters in SQL Server 2005?

0 投票
2 回答
1177 浏览

sql - 在 oracle 中,显式游标是否将整个查询结果加载到内存中?

我有一个大约有 10 亿行的表。我是唯一的用户,所以没有关于锁等的争用。我注意到当我运行这样的东西时:

在我按 enter 的时间和输出开始流入的时间之间存在延迟。如果 N 很小,那么它是微不足道的。对于大 N(或没有 WHERE 子句),此滞后时间约为数小时。

如您所知,我是 oracle 的新手,我假设游标只是在表中保留一个指针,它们会在循环的每次迭代中更新。所以我没想到滞后与执行迭代的表的大小成正比。这是错的吗?游标会在迭代之前加载整个查询结果吗?

有没有办法在没有初始开销的情况下逐行迭代表?

0 投票
1 回答
1965 浏览

java - 如何在 GAE 上将数据存储游标与 jpa 一起使用

任何人都知道如何将数据存储游标与 JPA 一起使用?

0 投票
2 回答
245 浏览

sql - 帮助用更好的代码替换这个 SQL 游标

谁能帮我从 SQL 2000 改进这个游标逻辑的性能。它在 SQl2005 和 SQL2008 中运行良好,但在 SQL 2000 中运行至少需要 20 分钟。顺便说一句,我永远不会选择使用游标,而且我没有写这段代码,只是想让它运行得更快。将此客户端升级到 2005/2008 不是近期的选择。