问题标签 [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 投票
4 回答
83983 浏览

sql - 在 PL/SQL 中循环 CURSOR 的 FETCH/FOR 之间的区别

我知道获取游标将使我能够访问 %ROWCOUNT、%ROWTYPE、%FOUND、%NOTFOUND、%ISOPEN 等变量

...但我想知道是否还有其他使用理由

打开 - 获取 - 关闭指令以循环游标

而不是

用 FOR 循环循环光标...(在我看来,这更好,因为它很简单)

你怎么看?

0 投票
2 回答
12937 浏览

oracle - PL/SQL - 如何创建条件游标?

我需要有一个条件游标,例如:

  • 如果存在一行(使用WHEN EXISTS或类似的东西),那么我的光标是:
    • CURSOR varCursor IS SELECT 1 a FROM DUAL;
  • 别的
    • CURSOR varCursor IS SELECT 2 a FROM DUAL;

但是看,我不想改变列结果,我想改变整个游标。

下面我举一个更大的例子。

谢谢!


看:

0 投票
4 回答
35652 浏览

sql - 游标用前一行和当前行的值更新一行

同胞查询作家,

我有一张如下表:

我想用前一行中 col3 的值加上当前行中 col2 的值来更新 col3 上的每个零。所以我的桌子会像下面这样:

我错过了这里的逻辑,也许是短视。我用光标尝试如下:

但这是错误的。有任何想法吗?

提前致谢。

0 投票
2 回答
12523 浏览

sql - 在 oracle 中加入游标或记录集

我在sybase方面有很好的经验,并开始在空闲时间研究oracle。我使用过的大多数 sybase 过程都有临时表,连接两个或多个临时表以获得结果集是有意义的。

问题:有没有办法像逻辑表一样连接两个或多个游标。

就像是:

0 投票
2 回答
29544 浏览

android - 什么时候在Android中关闭光标?

我有一个应用程序,它使用光标rawQuery从 SQLite DB 中选择数据以填充 Android 中的 ListView。每次用户单击列表视图项时,我都会创建一个新的 Activity 实例来重新填充列表视图。

调用cursor.close()db.close()避免内存问题更好吗?我实际上db.close()参与OnDestroy()了我的活动。

0 投票
7 回答
163459 浏览

sql-server - SQL Server 中游标的用途是什么?

我想使用数据库游标;首先我需要了解它的用途和语法是什么,在什么场景下我们可以在存储过程中使用它?不同版本的 SQL Server 是否有不同的语法?

什么时候需要使用?

0 投票
2 回答
25669 浏览

android - 查看 Android 数据库游标

有谁知道在调试过程中如何查看游标中的内容,以便确定数据库助手的功能?

它一直表现得好像它正在返回数据,但是当我尝试使用该cursor.isNull(0)方法时,我一直被NullPointerException抛出,并且在逐步执行时无法看到光标中有什么,这真的让我很沮丧。

任何帮助将不胜感激。

谢谢。

0 投票
3 回答
9703 浏览

sql-server - SQL Server中使用游标变量的优点(声明@cn游标)

在 T-SQL 中,可以通过两种方式(据我所知)声明游标:

  1. declare CursorName cursor for ...
  2. declare @CursorName cursor

我正在运行一些测试,我注意到创建游标变量不会在sp_cursor_list.

从性能、资源利用率等角度来看,使用第二种方法有什么优点/缺点吗?

PS:我知道潜在的光标性能问题。我不是要求比较游标与基于集合的比较。或光标while与临时/表变量。

0 投票
4 回答
23159 浏览

arrays - 如何在 T-SQL 中拆分字符串并保存到数组中

我正在编写一个游标以从主表中填充新表中的数据,其中包含以下方式的数据

物品 颜色
衬衫 红、蓝、绿、黄

我想通过获取项目然后将其添加到行中来填充新的表数据,根据它包含的每种颜色

物品 颜色
衬衫 红色的
衬衫 蓝色的
衬衫 绿
衬衫 黄色的

我被困在如何

  1. 分隔/拆分“颜色”字符串
  2. 将其保存在数组中
  3. 在光标中使用它

因为我将为此目的使用嵌套游标。

0 投票
1 回答
48398 浏览

oracle - ORA-00932: 不一致的数据类型: 预期 - 得到 -

我作为 PHP 程序员使用 Oracle(10g.2) 已经快 3 年了,但是当我分配作业时,我第一次尝试使用引用游标和集合类型。当我遇到问题时,我已经在网上搜索过,这个 ora-00932 错误真的让我不知所措。我需要一位老手的帮助。

这是我一直在处理的问题,我想从表中选择行并将它们放在引用游标中,然后使用记录类型,将它们收集到关联数组中。再次从这个关联数组中,创建一个引用光标。不要问我为什么,我在写这么复杂的代码,因为我需要它来完成更复杂的赋值。我可能会让您感到困惑,因此让我向您展示我的代码。

我在 Toad 的类型选项卡下定义了 2 种类型。其中之一是对象类型:

另一种是使用上面创建的对象类型的集合类型:

然后我创建一个包:

包体:

我注释掉了打开参考光标的最后一行。因为当我在 Toad 的 SQL 编辑器中运行该过程时,它会导致另一个错误,这是我要问的第二个问题。最后我在 Toad 中运行代码:

我得到了 ora-00932 错误。