【问题标题】:Using cursors sql?使用游标 sql?
【发布时间】:2013-11-07 11:36:56
【问题描述】:

我正在使用 sql 游标做一个项目,对于一个游标,我想遍历公司 ID 的数据集。

你会如何使用诸如

之类的逻辑
  1. 没有 CompanyID 的表需要复制所有数据。
  2. 始终复制 CompanyID = 0 的数据

游标的while循环你会怎么做。

我一直在看这个教程

http://examplesql.com/sqlserver-transact-t-sql/how-to-loop-using-sql-server-cursor-fetch-fast_forward/

【问题讨论】:

  • 你想完成什么?您确定需要基于光标的方法吗?
  • 在编写脚本时必须很少使用光标。始终考虑一组数据。
  • 您知道您可以对联接执行更新吗?

标签: sql while-loop cursor sql-scripts


【解决方案1】:

首先,始终建议在所有情况下都绝对避免使用游标。众所周知,它们会遇到非常糟糕的性能问题,并且 95% 的时间可以使用基于集合的逻辑来执行必要的功能。

要使用 psuedo 解决这个特殊问题,看起来像这样:

INSERT INTO DestinationTable
SELECT CompanyID, SomeDataColumn
FROM SourceTable
WHERE ISNULL(CompanyID, 0) = 0

【讨论】:

  • 不是我选择光标方法,我的老板告诉我要使用它们,感谢您的解决方案,它看起来像我需要的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 2017-10-31
  • 1970-01-01
相关资源
最近更新 更多