问题标签 [database-cursor]

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 投票
3 回答
15951 浏览

sql - 从 Oracle 游标中的下一行获取数据

我正在构建嵌套树,我需要使用 Oracle 获取游标中下一行的数据。而且我仍然需要当前行,因此向前循环不是解决方案。例子:

0 投票
3 回答
34222 浏览

sql-server - SQL Server 中是否可以递归调用存储过程?

这是我拥有的 VBScript 子例程:

反正有没有把它变成一个存储过程,因为它在子例程中有递归调用?

这是我尝试过的...

但是当调用该存储过程时出现以下错误...

A cursor with the same name 'TableCursor' already exists.

0 投票
1 回答
27812 浏览

mysql - 在存储过程的循环中使用游标

为了使用 MySQL 动态使用游标,是否可以在存储过程的循环中声明游标?我试过了,但出现错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 12 行的“DECLARE cur1 CURSOR FOR SELECT person_id,publication_id FROM person_has_public”附近使用正确的语法

提前致谢

0 投票
4 回答
2821 浏览

sql-server - 有没有办法使用 FK 从一个到另一个批量插入两个表?

我将给出我当前方法的伪代码示例,如果有人知道一种方法不能一次一行地工作,我将不胜感激。我正在使用 MS SQL Server 2008。

我宁愿同时对两个表进行某种插入,因为游标和循环很慢。

在有人抱怨我为什么要在两个具有 1 对 1 关系的单独表中插入某些东西之前,这是因为第一个表无法修改,我需要第二个(临时)表中的信息以供以后数据转换操作参考.

不,我不能添加一个临时列来将引用数据保存到无法修改的表中,因为它无法修改。这是一个实时系统,我无权更改表格。


附加信息:

前任

0 投票
2 回答
15419 浏览

java - 如何在android中使用sqlite连接表

我正在尝试找出如何使用 android 应用程序中的 sqlite 数据库对我的两个表进行简单的表连接。

是使用 CursorJoiner 的最简单方法还是有更简单的方法?

0 投票
1 回答
882 浏览

lua - 如何关闭 Lua 中所有打开的游标?

在关闭数据库连接之前关闭 lua 脚本中所有打开的游标的正确模式是什么?我有一个辅助函数 rows(),它在多个创建游标的地方被调用,在函数 end() 上我希望能够关闭所有已创建的。

0 投票
2 回答
12577 浏览

jdbc - 与非常繁忙的 SQL 2000 的 JDBC 连接:selectMethod=cursor vs selectMethod=direct?

在尝试帮助一个应用程序开发团队解决 SQL 2000 服务器上的性能问题(来自不同应用程序服务器上的一堆 Java 应用程序)的过程中,我运行了 SQL 跟踪并发现对数据库的所有调用都充满了 API服务器游标语句(sp_cursorprepexec、sp_cursorfetch、sp_cursorclose)。

看起来他们正在指定一些强制使用服务器端游标的连接字符串属性,一次只检索 128 行数据:(来自http://msdn.microsoft.com/en-us/library/Aa172588

当 API 游标属性或属性设置为默认值以外的任何值时,SQL Server 的 OLE DB 提供程序和 SQL Server ODBC 驱动程序使用 API 服务器游标而不是默认结果集。每次调用获取行的 API 函数都会生成到服务器的往返行程,以从 API 服务器游标中获取行。

更新:有问题的连接字符串是一个 JDBC 连接字符串参数,selectMethod=cursor(它启用我们上面讨论的服务器端游标)与替代selectMethod=direct. 他们一直将selectMethod=cursor其用作所有应用程序的标准连接字符串。

从我的 DBA 的角度来看,这很烦人(它用无用的垃圾使跟踪变得混乱),并且(我推测)会导致许多额外的应用程序到 SQL 服务器往返,从而降低整体性能。

他们显然确实测试了更改(只是大约 60 个不同的应用程序连接之一),selectMethod=direct但遇到了一些问题(我没有详细信息),并且担心应用程序会中断。

所以,我的问题是:

  • selectMethod=cursor正如我试图争论的那样,可以使用较低的应用程序性能吗?(通过增加已经有非常高的查询/秒的 SQL 服务器上所需的往返次数)
  • selectMethod=JDBC 连接上的应用程序透明设置吗?如果我们改变它,这会破坏他们的应用程序吗?
  • 更一般地说,什么时候应该使用cursorvs direct

交叉发布到 SF

编辑:收到实际的技术细节,需要对标题、问题和标签进行重大编辑。

编辑:增加赏金。还为 SF 问题添加了赏金(此问题侧重于应用程序行为,SF 问题侧重于 SQL 性能。)谢谢!

0 投票
4 回答
7656 浏览

sql-server - 在不使用游标的情况下从 SQL Server 中的 CSV 列创建表

给定一张桌子:

我想将这些行分开以获得:

我已经在下面完成了这个(示例已准备好在 SSMS 中运行),购买我的解决方案使用我认为丑陋的光标。有没有更好的方法来做到这一点?如果有任何对我有帮助的新东西,我正在使用 SQL Server 2008 R2。

谢谢

0 投票
3 回答
32447 浏览

sql-server - 在使用游标 tsql 处理之前计算行数

我有一个使用游标的 SQL Server sp,因此:

它工作正常,但是如果能够在继续处理游标查询之前检查游标查询是否有任何记录,那就太好了。如果有一个@@变量可以用来检查这个?

我知道有@@RowCount- 但这只有当前处理的行数 - 所以不是很有帮助

理想情况下,我希望能够做这样的事情:

谢谢

0 投票
5 回答
53441 浏览

sql - 使用数据库游标有什么好处?

这是基于我面临的面试问题。

很短的定义可以

它可用于操作查询返回的行。

除了使用游标(点在MSDN上列出)之外,我有一个问题,如果我们可以使用查询或存储过程执行所有操作(如果我没记错的话,就像我们可以使用 Transact-SQL对于ms-sql),我们应该使用游标有什么具体的点吗?