相关疑难解决方法(0)

为什么人们如此讨厌SQL游标?

我可以理解为了避免因为开销和不便而不得不使用光标,但看起来有一些严重的光标 - 恐惧症 - 狂热正在进行,人们将不遗余力地避免使用光标.

例如,有一个问题询问如何使用游标执行明显无关紧要的操作,并使用带有递归自定义函数的公用表表达式(CTE)递归查询提出接受的答案,即使这会将可处理的行数限制为32 (由于sql server中的递归函数调用限制).这让我觉得它是系统寿命的可怕解决方案,更不用说为了避免使用简单的光标而付出的巨大努力.

这种疯狂仇恨的原因是什么?有一些"着名的权威"发布了针对游标的法特瓦吗?一些无法形容的邪恶是否潜伏在游戏的核心,腐蚀了儿童的道德或什么?

维基问题,答案比代表更感兴趣.

相关信息:

SQL Server快进游标

编辑:让我更精确:我理解不应该使用游标而不是正常的关系操作 ; 这是一个明智的选择.我不明白的是,即使游标是一种更简单和/或更有效的解决方案,人们也会不顾一切地避开光标,就像他们有傻瓜一样.困扰我的是非理性的仇恨,而不是明显的技术效率.

sql cursor

127
推荐指数
8
解决办法
10万
查看次数

为什么在SQL Server中使用游标被认为是不好的做法?

我在SQL 7天后就知道了一些性能原因,但SQL Server 2005中是否仍然存在相同的问题?如果我在存储过程中有一个我想单独操作的结果集,那么游标仍然是一个糟糕的选择吗?如果是这样,为什么?

sql-server sql-server-2005 cursor

58
推荐指数
8
解决办法
6万
查看次数

对于每个MS SQL SERVER?

我有两张桌子:

Employees(EmployeeID, EmployeeName, EmployeeStatus, BasicSalary)

EmployeePayroll (PayrollID, EmployeeID, VoucherNo, BasicSalary, SalaryMonth)

我想为for each第一个表中的每个员工创建一个循环,以便我可以将虚拟数据插入(0, EmployeeID,0 ,0 ,0)到第二个表中.

我尝试用for循环但它无法制作它,所以for each在MS SQL Server中有一个循环吗?

sql sql-server

16
推荐指数
3
解决办法
8万
查看次数

标签 统计

cursor ×2

sql ×2

sql-server ×2

sql-server-2005 ×1