问题标签 [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 回答
1956 浏览

sql-server - 带有存储过程的 SQL 游标与带有 UDF 的查询

我正在尝试优化我正在维护的存储过程,并且想知道是否有人可以让我了解以下选项的性能优势/劣势。对于我的解决方案,我基本上需要对存储在表中的 IMAGE 列中的图像运行转换程序。转换过程位于外部 .EXE 文件中。这是我的选择:

  1. 将目标表的结果拉到一个临时表中,然后使用游标遍历表中的每一行并在 IMAGE 列上运行存储过程。存储过程调用.EXE。

  2. 创建一个调用 .EXE 文件的 UDF,并运行类似于“从 TargetTable 中选择 UDFNAME(Image_Col)”的 SQL 查询。

我想我正在寻找的是创建光标会增加多少开销的想法,而不是作为一个集合来做?

一些附加信息:

  • 在这种情况下,集合的大小是最大值。1000
  • 正如下面提到的答案,如果使用 UDF 作为一组完成,这是否意味着外部程序一次打开 1000 次?或者是否有针对此的优化?显然,在多处理器系统上,运行多个进程实例可能不是一件坏事,但 1000 个可能有点多。
0 投票
1 回答
2627 浏览

apache-flex - 如何从 AdvancedDataGrid 的 dataProvider 创建分层游标?

在我之前编写的应用程序中,我有一个扩展类AdvancedDataGrid(ADG)。它包含以下代码:

在这个实现中,该函数setOpenNodes()运行良好——它完全按照我的意图去做——传递一个数字,并打开dataProvider该级别或低于该级别的所有节点。

现在,我正在创建一个新的 ADG 类并希望重现此功能:

dataProvider父组件中设置:

reportData在另一个文件中设置:

但是,我收到运行时错误:

我试过铸造dataProviderICollectionView. 我试过然后铸造ICollectionViewas IHierarchicalCollectionView。我尝试了各种铸造,但似乎没有任何效果。为什么这在这个新的实现中不能像在过去的实现中那样工作?我需要做什么?

*** 更新:

我开始调试这个。我在我的 ADG 类中添加了一个覆盖设置器,以查看何时设置了 dataProvider:

我在这个设置器和我的 setOpenNodes() 函数中添加了一个断点。果然,dataProvider 是在调用 setOpenNodes() 之前设置的,它是 HierarchicalData。但是,当 setOpenNodes() 调试器说 dataProvider 是一个空的 ArrayCollection 时。看来这是根本问题。

0 投票
1 回答
2057 浏览

winapi - 如何在 Win32 中将光标设置为拖动复制/移动光标?

它似乎不是标准游标之一(如 IDC_ARROW),那么我该如何加载它呢?

0 投票
2 回答
2866 浏览

sql - 大表的 MSSQL 游标无法分配空间

我们正在尝试设置一个游标来运行从同一个巨大表的两个“实例”之间的连接生成的记录(超过 150 M 记录)。

出现以下异常消息:

无法为数据库“tempdb”中的对象“dbo.SORT 临时运行存储:165282123350016”分配空间,因为“PRIMARY”文件组已满。通过删除不需要的文件、删除文件组中的对象、向文件组添加其他文件或为文件组中的现有文件设置自动增长来创建磁盘空间。

你们有谁知道这其中的原因吗?或者如何使下面的查询更有效率?

我发现它发生在DECLARE CURSOR和第一个之间的某个地方FETCH NEXT,但我还不知道它是否介于...

  • DECLARE CURSOROPEN

或之间

  • OPEN和第一个FETCH NEXT

更多细节: sql 语句如下所示:

我收到的最后一条日志消息是“A”,然后一小时后它失败并显示上述消息,从未达到“C”。我现在正在尝试在“B”点记录。


根据要求,我发布了确切的 sql 表达式:


在 Quassnoi 更新答案后,我还将原始索引发布在桌子上:

我在此表上有一个非聚集索引,其中包含iBatchNumbersFieldNamesTableName、列iRowIndex。该索引sFieldValue作为包含列。


正如 Quassnoi 建议的那样(我想我现在明白为什么了)我已经更改了索引以使列按以下顺序排列:iBatchNumber, sTableName, iRowIndex, sFieldName。我sFieldValue用作包含的列。执行计划不再包含任何内容SORT,并且执行计划中的步骤数不到原来的一半,我希望这也更快......

0 投票
1 回答
7649 浏览

apache-flex - Adobe Flex / as3:如何实现自定义拖放光标

我们的产品团队在拖放操作期间要求自定义光标。他们为我提供了三个图像来实现:

  • Open-Hand-Grabber.png:当用户将鼠标悬停在他们可以拖动的项目上时显示
  • Closed-Hand-Grabber.png : 正在拖动项目
  • Closed-Hand-Grabber-No-Drop : 将项目拖到无法放下的区域

我已将这些图像嵌入到 Flex 应用程序中,现在我正在尝试实现所需的行为。

我的第一个想法是监听拖放事件并使用 CursorManager.setCursor() 方法设置光标。这个解决方案看起来代码非常密集,我觉得必须有一种更简单的方法来为各种拖放光标状态设置皮肤。

有任何想法吗?

0 投票
2 回答
788 浏览

sql - 关于 SQL 中游标的错误

以下是我的存储过程。它包含一个子查询

如果此子查询返回多个值,则会出现错误。子查询返回多行。我想在光标中获取每个 @StartTime 和 @EndTime 。意味着我想“从 Doctor 获取下一个到 @StTime 和 @EndTime”

我可以在游标中使用两个参数吗?

0 投票
5 回答
24705 浏览

apache-flex - Flex 3:鼠标悬停在文本输入上时如何更改鼠标光标?

在 Flex 中,默认情况下,当您将鼠标悬停在 Text Input 上时,鼠标光标会变为标准的 I 横杆。如何更改此光标以显示常规鼠标指针光标而不是 I 十字条?

更新:好吧,根据这篇博文,在 Flex 4 中这个过程似乎很简单:http: //blog.flexexamples.com/2008/11/03/setting-mouse-cursors-in-flash-player-10/

由于我暂时坚持使用 Flex 3,我该如何做类似的事情?

更新2:此外,这个问题有点类似于这个问题: 避免光标更改在Flash CS3中的动态文本字段上

不过,我使用的是标准的 Flex Builder,而不是 Flash CS3。

0 投票
4 回答
2489 浏览

sql - SQL Server - SQL 游标与 ADO.NET

我必须计算一个涉及来自多个表的数据的值。我想知道与将数据读入数据集(使用简单的选择存储过程)然后循环遍历记录相比,使用带有游标的存储过程是否会提供性能优势?数据集并不大,它由 6 个表组成,每个表大约有 10 条记录,主要是 GUID、几个 nvarchar(100) 字段、一个浮点列和一个 nvarchar(max)。

0 投票
4 回答
30904 浏览

oracle - oracle 存储过程(带游标)如何工作?

我有以下 oracle 存储过程

但是,当我在 sql-developer 中运行这个存储过程时,我什么也看不到。我只是看到这样的事情:

我来自 MS sql 服务器,并且习惯于在运行这样的存储过程时看到实际结果。这个存储过程是否因为我使用游标而没有返回结果?

0 投票
3 回答
1600 浏览

sql-server - SQL Server 游标参考(语法等)

我不经常使用 SQL Server 游标,但当我使用时,我总是需要查看语法和选项。

所以我想问一下,网络上最好的 SQL Server 游标参考是什么?

我正在寻找解释所有(主要?)选项(IE FAST_FORWARD)的参考,并显示如何使用它的快速片段。(IE 如何通过游标实现循环并使用检查@@FETCH_STATUS 变量的良好做法。)

最好的问候,
弗兰克

快速更新:我正在寻找快速参考但足够详细以查看我的选项的平衡。举个例子。MSDN 是一个很好的参考指南,但它有太多的细节。理想情况下,参考应该是简洁的。

进一步更新:我仍在寻找来源。如果有人发布了符合我简洁标准的好的来源,我会接受这个答案......