问题标签 [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.
sql - 有没有办法在 SQL Server 游标中使用参数?
我在数据库中有父子关系。我需要做的是遍历父母的查询,并使用父母的主键,得到它的孩子。我遇到的问题是我需要使用参数化游标(传入密钥)来执行此操作。
SQL Server 中是否有这样的事情或模仿这一点的技巧?我试过这样做,但没有奏效:
但似乎它并没有让我设置@someKey。
对此的任何帮助将不胜感激。谢谢!
更新
我应该包含更多信息,因为我让这个例子看起来太简单了。我有多个需要使用的 @someKey 值。如前所述,我有亲子关系,最多可以有 6 个孩子。所以我得到了一个父母列表,它是各自的列并遍历它。在 WHILE-LOOP 中,我想从父级获取主键并调用另一个游标来获取子级信息(返回不同的列)。所以我会使用不同的@someKey 值对子光标进行多次调用。希望这是有道理的。
python - 为什么查询sqlite数据库时需要创建游标?
我对Python 的 sqlite3 模块(以及一般的 SQL)完全陌生,这完全让我难过。大量缺乏对cursor
对象的描述(更确切地说,它们的必要性)似乎也很奇怪。
这段代码是首选的做事方式:
这个不是,即使它工作得一样好并且没有(看似毫无意义)cursor
:
谁能告诉我为什么我需要一个cursor
?
这似乎是毫无意义的开销。对于我的脚本中访问数据库的每个方法,我应该创建和销毁一个cursor
?
为什么不直接使用connection
对象?
database - DB存储过程操作设计——基于集合vs基于游标
有人告诉我,在设计存储过程时,基于集合的操作比基于游标的操作扩展得更好。
有人可以简要解释为什么会这样吗?
sql - sql server 游标卡在循环中
好吧,我完全不知所措——这段代码曾经可以工作,现在突然不行了......
它似乎只是陷入了一个循环......我已经注释掉了 exec 语句,并且只是放入了一个 print 语句,但它一直在继续。“步骤完成”打印语句被打印,“进入光标”语句也是如此。然后什么都没有....只是挂起。查询本身返回 192 行,所以要循环,它应该循环 192 次,然后中断并结束。想法?
编辑:
我添加了这个:
...就在fetch next from GetAllCodes into @activationCodePKID
声明之后 - 仍然没有。'进入光标'仍然被打印,但它只是挂起......
编辑2:
我删除了很多东西,并在'declare cursor'语句之后添加了这个,看看我是否可以输出任何东西......
仍然挂起......所以我拿出了'fetch statement',它似乎不再挂起。显然,它没有做任何事情,因为我没有让它做任何事情,但它完成了执行。
这让我想到了为什么 fetch 语句挂起。是否有一些服务器设置可能会影响这一点?一些内存问题?硬件问题?
oracle - 存储过程的光标问题
在下面的 oracle sql 包正文中,我收到“忽略 SQL 语句”错误,无法确定原因。请参阅以下语句中PROCEDURE updateLoansInLdcTab中dborLoans_cursor的 SELECT 语句:
sql-server-2008 - 是我使用光标的错误还是这个脚本的其余部分有问题?
此代码在 SQL 2005 中运行良好,但似乎错过了 SQL 2008 或 SQL 2008R2 中选择末尾的随机记录数。我使用此代码备份生产服务器上的数据库。2008 服务器上有 37 个 db(不包括 tempdb),它每天备份 17 到 35 个这些 db(即使我运行选择,我总是返回 37 行)。它所在的作业完成且没有错误,但不会备份所有数据库。
sql - 调用返回引用的函数
我正在使用 Postgresql 8.3 并具有以下简单函数,该函数将 a 返回refcursor
给客户端
现在,我可以使用以下 SQL 命令来调用这个函数并操作返回的游标,但是游标名称是由 PostgreSQL 自动生成的
除了如 38.7.3.5 所述将游标名称显式声明为函数的输入参数。返回游标,我可以声明自己的游标名称并使用此游标名称来操作返回的游标,而不是 Postgresql 自动为我生成吗?
如果没有,是否有任何命令可以获取生成的游标名称?
tsql - 使用 CTE 代替光标
我有以下表结构。
我只想将 SubId 更新为它为空的所有行,并且RawLineNumber以 1 递增并且SeqNumber以 1 递增。
我想用 A100 更新
RawLineNumber 2 和 3的SubId,用 A200 更新 RawLineNumber 11
的SubId ,用 A300
更新RawLineNumber 26 和 27的SubId。
我有一个可以完成这项工作的光标,但我可以有一个 CTE 来处理它吗?
java - 名称为 ... 的游标已存在 - SQL Server 2008
我有一个触发器,用于在对表进行更改时执行一些审计任务。在这个触发器中有一个 WHILE 循环,并且在循环中有一个游标,它在循环的下一次迭代之前被声明、使用、关闭然后释放。
当我调用一个更改表并反过来导致触发器运行的存储过程时,我从 Management Studio 中执行此操作,一切都按预期工作。
但是,当从我的 Java Web 应用程序中调用此存储过程时,我收到一个错误:“名称为 ... 的游标已经存在”。
这个存储过程在我手动执行时会起作用,而在从 Web 应用程序运行时不起作用,是否有原因?
python - Python-Oracle 传入游标输出参数
我正在尝试在 python 和 oracle db 之间调用存储过程。我遇到的问题是传递一个游标输出参数。
Oracle 存储过程本质上是:
调用数据库的python代码是:
错误是:
我还尝试将字典作为关键字参数传递:
返回相同的错误。
谢谢。